【Python基础】列表的切片与遍历

本文标识 : 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']