【Python基础】列表的切片与遍历
- 2020 年 1 月 2 日
- 笔记
本文标识 : P00011
本文编辑 : 采药 编程工具 : Python 阅读时长 : 3分钟
前言
切片:在python中处理列表的部分元素。
本章我们就来看以下如何"盘"一个列表。
切片
创建切片,我们需要指定使用的第一个元素和最后一个元素的索引。与range()函数一样,python在到达你指定的第二个索引前面的元素停止。
示例
players = ['charles','martina','michae','florence','eli'] print(players[0:3])
该代码的第二行,意思是打印players列表的一个切片,其中只包含3个成员,输出也是一个列表:
['charles', 'martina', 'michae']
我们可以生成列表的任何子集,比如提取列表的第2-4个元素:
players = ['charles','martina','michae','florence','eli'] print(players[1:4])
输出结果:
['martina', 'michae', 'florence']
如果没有指定第一个索引,python将自动从列表开头开始:
players = ['charles','martina','michae','florence','eli'] print(players[:4])
输出结果:
['charles', 'martina', 'michae', 'florence']
如需要终止于末尾,也可以使用类似的语法:
players = ['charles','martina','michae','florence','eli'] print(players[2:])
输出结果:
['michae', 'florence', 'eli']
无论列表有多长,这种语法都能够输出从特定位置到列表末尾的所有元素,比如输出列表players,可以使用切片players[-3:]:
players = ['charles','martina','michae','florence','eli'] print(players[-3:])
输出结果:
['michae', 'florence', 'eli']
遍历切片
如需遍历列表的部分元素,可在for循环中使用切片:
players = ['charles','martina','michae','florence','eli'] print("Here are the first three players on my team:") for player in players[-3:]: print(player.title())
输出结果:
Here are the first three players on my team: Michae Florence Eli
第三行代码意思是,只遍历最后三名的成员,而没有全部遍历。
复制列表
复制列表,可创建一个包含整个列表的切片,可以同时省略开始索引和终止索引([:]).
players = ['charles','martina','michae','florence','eli'] famous_players = players[:] print(players) print(famous_players)
输出结果:
['charles', 'martina', 'michae', 'florence', 'eli'] ['charles', 'martina', 'michae', 'florence', 'eli']
为了验证我们确实是有两个列表,我们分别给两个列表添加不同的成员,进行验证:
players = ['charles','martina','michae','florence','eli'] famous_players = players[:] players.append('bob') famous_players.append('tom') print(players) print(famous_players)
输出结果:
['charles', 'martina', 'michae', 'florence', 'eli', 'bob'] ['charles', 'martina', 'michae', 'florence', 'eli', 'tom']