1、列表的创建

方法一:用[]创建

方法二:用list()函数创建列表,list里面要是可迭代的对象(可以直接使用for循环的对象,例如字符,列表,元组,字典)

#使用中括号创建列表
#1、创建空列表
list_one = []
print(list_one,type(list_one))#[] <class 'list'>

#2、列表中的元素类型均为字符串类型
list_two = ['p','y','t','h']
print(list_two,type(list_two))#['p', 'y', 't', 'h'] <class 'list'>

#3、列表中的元素不同类型
list_three = [1,3.14,True,'hello']
print(list_three,type(list_three))#[1, 3.14, True, 'hello'] <class 'list'>

#使用list函数
list_one = list()
print(list_one,type(list_one)) #[] <class 'list'>

2、访问列表元素

list = ['p','y','t','h']
print(list[2:])#获取列表中索引为2至末尾的元素
print(list[:3])#获取列表中索引为0至索引值为3的元素
print(list[:]) #获取列表中的所有元素

3、列表的遍历和排序

遍历

list = list(range(10))
for x in list:  #x代表list元素的本身,直接访问
    print(x,end=",")
for x in range(10): #用下角标遍历
    print(list[x],end=",")

当输出类似于“list[1] = 1”这样,用下角标合适一些。

list = list(range(10))
for x in range(10):
    print("list[{}] = {}".format(x, list[x]))
    print("list[%d] = %d" % (x,list[x]))
    print(f"list[{x}] = {list[x]}")

排序

sort()函数用于按照指定的规则对所有的元素进行排序

sort(key,reverse)

key表示排序规则

reverse表示列表元素排序的方式,默认为False表示升序

listb = [2,33,6,1,12]
listb.sort() #无参数,默认升序排序
print(listb)
listb.sort(reverse=True) #降序排序
print(listb)
#把列表中每一个元素进行比较,比较这个值转成字符串之后从小到大输出
listb.sort(key=str)
print(listb)    #[1, 12, 2, 33, 6]

内置函数sorted()

返回的是个新列表,排序后原对象不变。支持使用key参数指定排序规则,key参数的值可以是函数,类,lambda表达式,方法等可调用对象。也可以使用reverse参数同sort()函数

listb = [2,33,6,1,12]
print(sorted(listb)) #[1, 2, 6, 12, 33]
print(listb)         #[2, 33, 6, 1, 12]原对象不变

4、添加列表元素

append(x)用于向列表尾部追加一个元素x

extend(x)用于另一个列表L中的所有元素追加到当前列表的尾部

insert(index,x)用于向列表任意指定位置index处插入一个元素x,若插入位置超出列表尾端,则会插入到最后;若插入位置超过列表首端,则会插入到最前面

listb = [2,33,6,1,12]
listb.append(90)
print(listb)     #[2, 33, 6, 1, 12,90]
listb.extend([1,2]) 
print(listb)     #[2, 33, 6, 1, 12, 90, 1, 2]
listb.insert(200,2000)
print(listb)    #[2, 33, 6, 1, 12, 90, 1, 2, 2000]

5、删除列表元素

可以使用del命令删除列表中指定位置的元素

remove(x)用于删除列表中第一个值与指定值x相等的元素,若x在列表中不存在则抛出异常

pop([index=-1])用于删除并返回指定位置(默认是最后一个)上的元素,index不合法则抛出异常

listb = [2,33,6,1,12]
listb.pop()
print(listb) #[2, 33, 6, 1]
del listb[-1]
print(listb) #[2, 33, 6]
listb.pop(2)
print(listb) #[2, 33]
listb.remove(2)
print(listb) #[33]

6、修改列表元素

直接赋值修改元素

list = ['p','y','t','h']
list[1]='pp'
print(list)  #['p', 'pp', 't', 'h']

列表对像支持的运算符

‘+‘号可以连接两个列表,返回新列表,涉及大量元素的复制,效率非常低

’号可以用于列表和整数相乘,表示序列重复,返回新列表。运算符=也可以用于列表元素重复,属于原地操作

in运算符用于判断列表中是否含有某个元素

关系运算符可以用来比较列表的大小,逐个比较,直到有结果为止

内置函数对列表的操作

max()、min()函数用于返回列表中所有元素的最大值和最小值

sum()函数用于返回列表中所有元素之和

len()用于返回列表中元素的个数

zip()函数用于将多个列表中元素重新组合为元组并返回包含这些元组zip对象

map()函数把函数映射到列表上的每个元素

filter()函数根据指定元素的返回值对列表元素进行过滤。

7、嵌套列表的创建与访问

#嵌套列表的定义
list = [[1,3],[123,323],[41,53,55]]
#获取嵌套列表的内层列表中的数据
print(list[1][1])  #323
#向嵌套列表中添加数据
list[1].append(23)
print(list)  #[[1, 3], [123, 323, 23], [41, 53, 55]]

8、列表推导式

a = [i*i for i in range(1,10,2)]  #直接用[]括起来写推导式
print(a)  #[1, 9, 25, 49, 81]

a = [i for i in range(5) for j in range(3)]
print(a)  #[0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4]

enumerate(),生成一个元组,元组的第一个值为第二个值在列表中的下标。第二个值为列表中的元素

a = [1,2,3,4]
for x,y in enumerate(a):
    print(x,y)  
'''
0 1
1 2
2 3
3 4
'''
最后修改:2022 年 09 月 19 日
如果觉得我的文章对你有用,请随意赞赏