Python 列表(List)
list1 = [1, 2, 3, 'hellow', 'world', [4, 5, 6]]
list2 = list1
# 创建空列表
list3 = []
list3 = list()
1. 访问列表元素
[1] 偏移量
list1 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
正偏移从字符串开始处计数,从 0 开始
负偏移从字符串结尾处反向计数,从 -1 开始
正偏移 = 负偏移 + 字符串长度
| 正偏移→ |
0 |
1 |
2 |
3 |
4 |
5 |
| 列表 |
'red' |
'green' |
'blue' |
'yellow' |
'white' |
'black' |
| 负偏移← |
-6 |
-5 |
-4 |
-3 |
-2 |
-1 |
[2] 索引
# 索引用于获取特定偏移的元素
# 语法:列表[偏移量]
list2 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
list2[1] # 'green'
list2[-3] # 'yellow'
# 偏移量不能超出列表的范围,-len(list) <= 偏移量 <= len(list) - 1
len(list2) #6
list2[6] #报错
list[-7] #报错
[3] 分片
# 分片用于提取子列表
# 语法:列表[头下标:尾下标] 截取范围为[头下标,尾下标-1),包含头下标不包含尾下标
# 头下标省略默认值为0,尾下标省略默认值为列表长度
list2 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
list2[0:3] # ['red', 'green', 'blue']
list2[-4:] # ['blue', 'yellow', 'white', 'black']
list2[:-2] # ['red', 'green', 'blue', 'yellow', 'white']
# 第三个索引:步进(可选)
# 语法:列表[头下标:尾下标:步进数] 每隔'步进数'个元素索引一次,默认值为1
list2 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
list2[::2] # ['red', 'blue', 'white']
# 步进数可以为负数,分片将会从右至左进行
# 且两个边界的意义实际上进行了反转,截取范围变成了[头下标, 尾下标+1)
list2[::-1] # ['black', 'white', 'yellow', 'blue', 'green', 'red']
list2[4:0:-1] # ['white', 'yellow', 'blue', 'green']
2. 修改列表元素
list3 = ['aa', 'bb']
# 使用索引
list3[1] = 'cc' # ['aa', 'cc']
# 使用方法
# append(obj)在列表末尾添加一项元素
list3.append('dd') # ['aa', 'cc', 'dd']
list3.append(['hello', 'world']) # ['aa', 'cc', 'dd', ['hello', 'world']]
# extend(obj)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list3.extend(['ee', 'ff']) # ['aa', 'cc', 'dd', ['hello', 'world'], 'ee', 'ff']
# insert(index, obj) 在第index项前插入元素
list3.insert(3, 'gg') # ['aa', 'cc', 'dd', 'gg', ['hello', 'world'], 'ee', 'ff']
3. 删除列表元素
list4 = ['aa', 'bb', 'cc', 'dd']
# 使用索引
del list4[2] # ['aa', 'bb', 'dd']
del list4 # 删除列表,之后调用list4会报错
# 使用方法
# pop(index=-1) 移除第index项元素(默认最后一个元素),并且返回该元素的值
list4.pop() # ['aa', 'bb']
# remove(obj) 移除列表中某个值的第一个匹配项
list4.append('aa') # ['aa', 'bb', 'aa']
list4.remove('aa') # ['bb', 'aa']
# clear() 清空列表
list4.clear() # []
4. 列表常用函数
| 序号 |
函数 |
描述 |
| 1 |
max(list) |
返回列表元素最大值 |
| 2 |
min(list) |
返回列表元素最小值 |
| 3 |
list.append(obj) |
在列表末尾添加新的元素obj |
| 4 |
list.count(obj) |
统计元素obj在列表中出现的次数 |
| 5 |
list.extend(seq) |
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
| 6 |
list.index(obj) |
从列表中找出元素obj第一个匹配项的索引位置 |
| 7 |
list.insert(index, obj) |
将对象obj插入列表中第index项后面 |
| 8 |
list.pop([index=-1]) |
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
| 9 |
list.remove(obj) |
移除列表中元素obj的第一个匹配项 |
| 10 |
list.reverse() |
反向列表中元素 |
| 11 |
list.sort( key=None, reverse=False) |
对原列表进行排序 |
| 12 |
list.clear() |
清空列表 |
| 13 |
list.copy() |
复制列表 |
| 14 |
value in list |
如果value在列表里返回True,否则返回False |