Science is not only a dsciple of reason but, also, one of romance and passion. – Stephen Hawking
文章目录
一、列表 list 是什么?
列表:一系列按特定顺序排列的元素组成。
在python中使用中括号 [] 来表示列表, 并使用逗号来分隔列表中的元素。例如:
players = ['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
years = [2015, 2017, 2018, 2022]
print(players)
print(type(players)) # 通过type()查看数据类型
# 运行输出
['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
<class 'list'>
1.1 访问列表元素
列表是有序的元素集合,要访问列表元素只需将元素所在位置或索引告诉python即可。
players = ['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
years = [2015, 2017, 2018, 2022]
print(players[0], '\n', years[1]) # 列表[索引]的格式进行元素访问
# 运行输出
Stephen Curry
2017
注意:列表索引从0开始,而不是1。访问最后一个元素,其索引为-1,同理索引 -2 为倒数第二个元素位置,以此类推。
players = ['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
years = [2015, 2017, 2018, 2022]
print(players[-1], '\n', years[-2]) # 列表[索引]的格式进行元素访问
# 运行输出
Andrew Wiggins
2018
二、修改,添加,删除元素
创建的大多数列表是动态的,即需要随时修改,增加或删减列表的元素。
2.1 修改列表元素
指定列表名和要修改的元素索引,再赋值一个新的值。例如:
players = ['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
players[-1] = 'Jordan Poole'
print(players)
# 运行输出
['Stephen Curry', 'Klay Thompson', 'Jordan Poole']
2.2 添加列表元素
- append(): 将新的元素添加到列表末尾
- insert(): 指定位置添加元素
players = ['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
players.append('Jordan Poole') # 将新元素添加末尾
print(players)
players = ['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
players.insert(1, 'Jordan Poole') # 在列表索引为1的地方添加新元素
print(players)
# 运行输出
['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins', 'Jordan Poole']
['Stephen Curry', 'Jordan Poole', 'Klay Thompson', 'Andrew Wiggins']
2.3 删除列表元素
del:需指定删除元素所在索引
pop(): 在括号中指定索引,则删除该索引对应元素。若括号为空,则删除最后一个元素。
remove(): 根据列表的值删除元素,不需要知道其所在位置。
# 示例
players = ['Stephen Curry', 'Klay Thompson', 'Draymond Green', 'Andrew Wiggins']
del players[-2] # del 指定删除元素的索引
print(players)
players = ['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins', 'Draymond Green']
players.pop() # 括号没指定索引,默认删除最后一个元素。
print(players)
players = ['Stephen Curry', 'Draymond Green', 'Klay Thompson', 'Andrew Wiggins']
players.remove('draymond green'.title())
print(players)
# 运行输出
['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
三、组织列表
3.1 排序
调整列表中元素的排列顺序。
3.1.1 方法sort()永久排序
方法sort():按照首字母的顺序,对列表进行永久性排序, 无法恢复原来顺序。
# 示例
players = ['Stephen Curry', 'Draymond Green', 'Klay Thompson', 'Andrew Wiggins']
players.sort() # 按字母顺序
print(players)
players.sort(reverse=True) # 指定reverse=True,按字母顺序相反方向
players.pop(-2) # pop()指定索引删除
print(players)
# 运行输出
['Andrew Wiggins', 'Draymond Green', 'Klay Thompson', 'Stephen Curry']
['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
3.1.2函数sorted()暂时排序
python中函数与方法的区别可参考:链接点我
# 示例
players = ['Stephen Curry', 'Draymond Green', 'Klay Thompson', 'Andrew Wiggins']
print(sorted(players,reverse=True)) # 暂时排序
print(players)
players.sort(reverse=False) # 永久排序
print(players)
# 运行输出
['Stephen Curry', 'Klay Thompson', 'Draymond Green', 'Andrew Wiggins']
['Stephen Curry', 'Draymond Green', 'Klay Thompson', 'Andrew Wiggins']
['Andrew Wiggins', 'Draymond Green', 'Klay Thompson', 'Stephen Curry']
3.2 方法reverse()倒转列表元素
# 示例
players = ['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
players.reverse() # 永久性的修改元素的顺序
print(players)
players.reverse() # 再来一次,就又回到最初的顺序
print(players)
# 运行输出
['Andrew Wiggins', 'Klay Thompson', 'Stephen Curry']
['Stephen Curry', 'Klay Thompson', 'Andrew Wiggins']
3.3 函数len()确定列表长度
# 示例
players = ['Stephen Curry', 'Draymond Green', 'Klay Thompson', 'Andrew Wiggins']
players.pop(2)
print(len(players))
# 运行输出
3
四、列表索引使用错误
- 列表只有三个元素,你的索引是3或更大,则报错。
- 空列表时,索引为 -1 时则报错。
当发生这种错误时,可使用 len() 打印列表的长度。
五、总结
— 有句话说得好 JUST DO IT。
— 后来,,,就进入了 IT 行业。
If you feel happy, clap your hands.👏👏👏