Python基础教程——2.4 python列表

一、前言

列表是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合,在这种数据结构上进行的基本操作包括对元素的的查找,插入,和删除(来自百度百科)。python列表有点像其他语言的数组,它是 Python 中最基本的数据结构之一,也是最常用的数据类型之一,本节一起来了解一下列表的相关知识。

二、列表的格式

python的列表使用一组中括号[]进行包裹,里边的元素使用","分隔,例如:

num_list= [1,2,3]

列表中的元素可以是不同类型的

demo_list = ["hello",1,"world"]

三、列表的创建

列表的创建我们在这里介绍4种方法:

1、直接创建

empty_list=[]
num_list = [1,2,3] 
name_list = ["xiaoming","lihua"]
print(empty_list,num_list,name_list )

# 输出结果
[],[1,2,3],["xiaoming","lihua"]

2、使用list函数创建

(1)、参数为可迭代对象

可迭代对象:可以简单理解为支持遍历的对象

使用用 list([iterable])函数返回一个列表。
可选参数iterable是可迭代的对象,例如字符串,元组。list()函数将可迭代对象的元素重新返回为列表。

word="python"
example_set = ("hello","word")

word_list = list(word)
example_set_list = list(example_set)
print(word_list,example_set_list)

# 输出结果
['p', 'y', 't', 'h', 'o', 'n'] ['hello', 'word']

(2)、字典类型数据作为参数

将字典类型数据作为参数时,返回的列表元素是字典的键。

test_dict = {"name":"xiaoming","gender":"man"}
test_list = list(test_dict)
print(test_list)

# 输出结果
['name', 'gender']

(3)、range()函数作为参数

将range()函数作为参数,返回一个整数元素的列表。

test_list = list(range(2,8))
print(test_list)

# 输出结果
[2, 3, 4, 5, 6, 7]

3、使用列表推导式

test_list = [x for x in "python"]
print(test_list)

# 输出结果
['p', 'y', 't', 'h', 'o', 'n']

4、利用split分割字符串

word= "python is number one"
word_list = word.split(" ")
print(word_list)

# 输出结果
['python', 'is', 'number', 'one']

四、列表的相关操作

列表中存放的数据是可以进行修改的,比如""、“”、“”、“

1、添加元素("增"append, extend, insert)

(1)append

通过append可以向列表添加元素

list_A = ['apple','banana']
list_A.append("pear")

print(list_A)

# 输出结果
['apple', 'banana', 'pear']

(2)extend

通过extend可以将另一个集合中的元素逐一添加到列表中

a = [1, 2]
b = [3, 4]
a.append(b) # 使用append添加的情况
print(f"使用append添加:{a}")
a = [1, 2]
b = [3, 4]
a.extend(b) # 使用extend添加的情况
print(f"使用extend添加:{a}")

# 输出结果
使用append添加:[1, 2, [3, 4]]
使用extend添加:[1, 2, 3, 4]

在列表中插入另一个列表时,append会直接以列表的形式插入,extend则会将列表中的元素拆解逐一插入新列表

(3)insert

insert(index, object) 在指定位置index前插入元素object

a = [0, 1, 2]
a.insert(1, 3) # 在索引为1的位置插入3
print(a)

# 输出结果
[0, 3, 1, 2]

2、修改元素(“改”)

修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改

list_A = ['apple', 'banana', 'pear']
list_A[1] = 'peach' #修改banana为peach
print(list_A )

# 输出结果
['apple', 'peach', 'pear']

3、查找元素("查"in, not in, index, count)

所谓的查找,就是看看指定的元素是否存在

(1)in 和not in

in(存在),如果存在那么结果为true,否则为false
not in(不存在),如果不存在那么结果为true,否则false

fruits= ['apple', 'banana', 'pear']
find_name = "apple"

if find_name  in fruits:
	print(f'{find_name}在列表中')
else:
	print(f'{find_name}不在列表中')

# 输出结果
apple在列表中

(2)index 和 count

index和count与字符串中的用法相同
index查找,如果不存在会抛出异常
count统计数量

a = ['a', 'b', 'c', 'a', 'b']
a.index('a', 1, 3) # 注意是左闭右开区间
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
	ValueError: 'a' is not in list
>>>a.index('a', 1, 4)
3

>>>a.count('b')
2

>>>a.count('d')
0

4、删除元素("删"del, pop, remove)

将某个元素从列表中删除

(1)del

根据下标进行删除

comic_name = ['千与千寻','幽灵公主','哈尔的移动城堡','龙猫','天空之城']
del comic_name [2]
print(comic_name)

# 输出结果
['千与千寻', '幽灵公主', '龙猫', '天空之城']

(2)pop

删除最后一个元素

comic_name = ['千与千寻','幽灵公主','哈尔的移动城堡','龙猫','天空之城']
comic_name.pop()
print(comic_name)

# 输出结果
['千与千寻', '幽灵公主', '哈尔的移动城堡', '龙猫']

(3)remove

根据元素的值进行删除

comic_name = ['千与千寻','幽灵公主','哈尔的移动城堡','龙猫','天空之城']
comic_name.remove('龙猫')
print(comic_name)

# 输出结果
['千与千寻', '幽灵公主', '哈尔的移动城堡', '天空之城']

5、排序(sort, reverse)

(1)sort

sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。

new_list =  [1, 4, 2, 3]
new_list.sort()
print(new_list)

# 输出结果
[1, 2, 3, 4]

(2)reverse

reverse方法是将列表进行逆序操作。

new_list =  [1, 4, 2, 3]
new_list.reverse()
print(new_list)

# 输出结果
[3, 2, 4, 1]

[1, 4, 2, 3]

五、列表的嵌套

嵌套列表,就是列表中包含列表

students = [["李强","1班"],["张华","2班"],["王明","2班"],["张伟","3班"]]
for student in students:
	name = student[0]
	class_name= student[1]
	print(f"学生的姓名是{name},班级是{class_name}")

# 输出结果
学生的姓名是李强,班级是1班
学生的姓名是张华,班级是2班
学生的姓名是王明,班级是2班
学生的姓名是张伟,班级是3
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值