列表
列表是一种有序的数据集合,用[ ]
将所有数据框起来,里面的每一个数据叫元素,元素与元素之间用英文逗号,
隔开。
a = [1,2,3,4,5]
a
>> [0, 1, 2, 3, 4, 5]
列表中的元素可以包含不同的数据类型。
b = ['A',1,2,'数学']
b
>> ['A', 1, 2, '数学']
c=[0,1,2,3,[4,5,6],'python']
c
>> [0, 1, 2, 3, [4, 5, 6], 'python']
可以用内置函数list
创建
a = list([1,2,3,'列表'])
print(a)
可以用index()
方法获取列表中某个元素的索引值
a = ['列表',1,2,3,'列表']
print(index('列表')) # 如果列表中有相同元素,只返回列表中相同元素中第一个元素的索引
# 如果查询的元素不存在,会报错 ValueError
>> 0
# 在列表指定范围内查找元素
print(index('列表',1,3))
>> ValueError
print(index('列表',0,3))
>> 0
访问单个元素与切片
可利用位置下标访问列表中的单个元素或几个元素。格式为list名[位置下标]
。位置下标从0开始,至len(list)-1
结束。位置下标可以正序,也可以逆序,从最后一个元素向前,最后一个元素的逆序下标为-1
.
a=[0,1,2,3,4,5]
a[3]
>> 3
a[-1]
>> 5
c=[0,1,2,3,[4,5,6],'python']
c[4][1]
>> 5
判断某个元素是否在列表内,用in
/ not in
用for-in
进行列表元素的遍历
列表可进行切片操作,截取列表中的部分列表。切片详细内容见切片。
b = ['A',1,2,'数学']
b[:3]
>> ['A', 1, 2]
列表的修改、添加、删除
修改
直接用赋值命令修改元素
a=[0,1,2,3,4,5,'apple']
a[6]='orange' #将列表中第6个元素改为'orange'
a
>> [0, 1, 2, 3, 4, 5, 'orange']
添加
在末尾添加单个元素,可以用append()
方法。
a=[0,1,2,3,4,5]
a.append('apple')
a
>> [0, 1, 2, 3, 4, 5, 'apple']
若要在指定位置添加元素,则使用insert()
方法。
#在1位置插入'apple'元素
a=[0,1,2,3,4,5]
a.insert(1,'apple')
a
>> [0, 'apple', 1, 2, 3, 4, 5]
批量添加元素,用extend()
可以将另一个列表中的元素逐一添加到此列表中。
a=[0,1,2,3,4,5,'apple']
b=['orange','banana','pear']
a.extend(b)#将b列表中元素逐一添加到a列表
a
>> [0, 1, 2, 3, 4, 5, 'apple', 'orange', 'banana', 'pear']
删除
1、删除已知位置下标的元素,用del
语句
a=[0,1,2,3,4,5,'apple']
del a[6] #删除位置下标6的元素
a
>> [0, 1, 2, 3, 4, 5]
del list
直接删除列表
2、若不知道位置下标,但知道要删除的具体的元素,可以用remove()
方法。如果列表中有重复元素,只删除第一个
a=[0,1,2,3,4,5,'apple']
a.remove('apple')
a
>> [0, 1, 2, 3, 4, 5]
3、如果想将某元素从列表中删除但可以继续使用它,可以使用方法pop()
. pop()
可以将原有列表中特定的元素根据索引删除并可将其赋值给新的元素。
a=[0,1,2,3,4,5,'apple']
b=a.pop(6) #删除a列表中下标为6的元素并将其赋值给b
print(a)
>> [0, 1, 2, 3, 4, 5]
b
>> 'apple'
pop()
还可用于删除列表末尾的元素。
c=[0,1,2,3,[4,5,6],'python']
c.pop()
c
>> [0, 1, 2, 3, [4, 5, 6]]
4、清楚列表用clear()
方法
组织列表
排序
列表的永久性排序用sort()
方法,默认升序排序,不产生新的列表对象。
a=['e','f','w','b','d']
a.sort() #将a列表按照字母顺序排列,打印a列表可以看到a列表的顺序发生变化
a
>> ['b', 'd', 'e', 'f', 'w']
a.sort(reverse=True) # 倒序排序
使用sorted()
函数可以对列表进行临时性排序,将产生新的列表对象。
a=['e','f','w','b','d']
sorted(a)
a #打印a列表,a列表元素并未发生变化
>> ['e', 'f', 'w', 'b', 'd']
print(sorted(a)) #sorted(a)将a列表元素临时正向排序
['b', 'd', 'e', 'f', 'w']
print(sorted(a,reverse=True)) # 倒序排序
倒序打印列表
使用reverse()
方法可以将列表倒序打印,此方法会永久性改变列表元素排列
a=['e','f','w','b','d']
a.reverse()
a
>> ['d', 'b', 'w', 'f', 'e']
确定列表长度
用len()
函数确定列表长度
a=['e','f','w','b','d']
len(a)
>> 5
创建数值列表
利用range()
函数和list()
函数可生成数值列表。
range()
函数有三个参数。range(a:b:c)
,a是起始值,b是终止值(不包括这个值),c是步长,默认为1。
list()
函数可将括号内参数转换为列表。
a=list(range(1,10,2)) #生成从1到9,步长为2的列表
a
>> [1, 3, 5, 7, 9]
[i for i in range(1,10,2)]
>> [1, 3, 5, 7, 9]
可以对数值列表进行简单的统计运算。如最大值max(),最小值min(),求和sum().
a=list(range(1,10,2))
print(max(a))
>> 9
print(min(a))
>> 1
print(sum(a))
>> 25