Python列表常见操作

目录

列表类型

列表是由多个值组成的序列。通常说的列表值指的是列表本身,而不是列表中的元素。列表以左方括号[开始,以右方括号]结束。列表中的值也称为表项,用逗号分隔。如

l1 = [1, 2, 3]
l2 = ['cat', 'bat', 'rat']
l3 = []  # 空列表

列表中也可以包含列表。如

l = [['cat', 'bat', 'rat'], [1, 2, 3]]

下标

列表中的第一个值下标是0,第二个值下标是2,以此类推。如

l = ['cat', 'bat', 'rat']
print(l[0])  # 'cat'
print(l[1])  # 'bat'
print(l[2])  # 'rat'

列表中的列表可通过多重下标访问。如

l = [['cat', 'bat', 'rat'], [1, 2, 3]]
print(l[0][1])   # 'bat'
print(l[1][2])   # 3

第一个下标表明使用的是哪个列表,第二个下标表明列表中的值。

也可使用负数作为下标,-1是最后一个下标,-2是倒数第二个下标,以此类推。如

l = ['cat', 'bat', 'rat']
print(l[-1])  # 'rat'
print(l[-3])  # 'cat'

切片

切片可以从列表中取得多个值,得到新的列表。如

l = ['cat', 'bat', 'rat', 'elephant']
print(l[1: 3])  # ['bat', 'rat']
print(l[: 2])   # ['cat', bat']
print(l[2: ])   # ['rat', 'elephant']

切片用冒号:分隔两个数字,第一个数字表示开始处的下标,省略则默认0;第二个数字表示结束处的下标,省略则表示列表长度。新得到的列表从第一个数字开始,直到最后一个数字,但不包括最后一个数字。

长度

len()函数将返回列表中元素的个数。如

len(['cat', 'bat', 'rat', 'elephant'])   # 4

修改元素中的值

可利用下标的形式,修改列表中元素的值。如

l = ['cat',  'bat',  'rat']
l[1] = 'elephant'
print(l)   # ['cat', 'elephant',  'rat']

连接和复制

+可连接两个列表,得到新的列表。*作用于一个列表和一个整数,实现列表的复制。如

[1, 2, 3] + ['cat',  'bat',  'rat']   # [1, 2, 3, 'cat', 'bat', 'rat']
['cat',  'bat',  'rat'] * 3           # ['cat', 'bat', 'rat', 'cat', 'bat', 'rat', 'cat', 'bat', 'rat']

删除列表中的值

del语句删除某个下标处的值,被删除值后面的元素下标向前移动一位。如

l = ['cat',  'bat',  'rat']
del l[1]
print(l)   # ['cat', 'rat']

innot in

innot in确定一个值是否在列表中。如

'cat' in ['cat',  'bat',  'rat']       # True
'elephant' in ['cat',  'bat',  'rat']  # False
'cat' not in ['cat',  'bat',  'rat']   # False
'elephant' not in ['cat',  'bat',  'rat']  # True

多重赋值

用列表中的值为多个变量赋值,变量数目必须与列表长度相同。如

size, color, disposition = ['fat', 'black', 'loud']

index()方法

index()方法查找元素在列表中的下标,如果该元素不在列表中,就报错。如果有多个元素,则返回第一个元素的下标。如

l = ['cat',  'bat',  'rat']
l.index('bat')   # 1
l = ['cat',  'bat',  'rat', 'rat', 'elephant']
l.index('rat')   # 2

append()insert()方法

在列表中添加新的元素可以使用这种方法。append()方法直接将元素添加至末尾。如

l = ['cat',  'bat',  'rat']
l.append('elephant')  # ['cat', 'bat', 'rat', 'elephant']

insert()方法可以在列表中任意位置插入值,第一个参数表示新元素下标,第二个参数表示新元素的值。如

l = ['cat',  'bat',  'rat']
l.insert(1, 'elephant')  # ['cat', 'elephant', 'bat', 'rat']

remove()方法

remove()方法传入一个值,把这个值重列表中删除。如果该值不存在于列表中,则报错。如果存在多个值,只删除第一个。如

l = ['cat',  'bat',  'rat']
l.remove('bat')   # ['cat', 'rat']
l = ['cat',  'bat',  'rat', 'bat']
l.remove('bat')   # ['cat', 'rat', 'bat']

sort方法

sort()方法用于排序,如

l = ['d', 'e', 'a', 'c', 'b']
l.sort()   # ['a', 'b', 'c', 'd', 'e']

可以指定reverse关键字为True,让其逆序排列。如

l = ['d', 'e', 'a', 'c', 'b']
l.sort(reverse=True)   # ['e', 'd', 'c', 'b', 'a']

sort()方法不能对既有数字又有字符串的列表排序。sort()排序是区分大小写的,按ASCII码排序,如果要忽视大小写,则需要指定关键字keystr.lower。如

l = ['D', 'e', 'a', 'c', 'B']
l.sort()    # ['B', 'D', 'a', 'c', 'e']
l.sort(key=str.lower)  # ['a', 'B', 'c', 'D', 'e']
上一篇:RatingBar(评分星数)的使用样例


下一篇:开源RAT软件