Python中使用列表的一部分——参考Python编程从入门到实践

 处理列表中的部分元素——切片

1. 切片

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3]) # 打印列表的切片,其中包含前三个元素,输出也是一个列表
print(players[1:4]) # 提取列表的第2、3、4个元素
print(players[:4]) # 没有指定索引,故打印出列表的前4个元素
print(players[2:]) # 没有指定终止索引,故打印出列表中第二个元素之后的所有元素(不包含第二个,由于索引从0开始)
print(players[-3:]) # 列表从右往左的索引从-1开始,故打印出列表的最后三个元素
print(players[:-2]) # 切片时不包含指定的第二个索引,故打印除了最后两个元素以外的其他元素
运行结果:
['charles', 'martina', 'michael']
['martina', 'michael', 'florence']
['charles', 'martina', 'michael', 'florence']
['michael', 'florence', 'eli']
['michael', 'florence', 'eli']
['charles', 'martina', 'michael']

2. 遍历切片

for player in players[:3]:    # 遍历前3个元素
print(player.title())
运行结果:
Charles
Martina
Michael

3. 复制列表

my_foods = ['pizza', 'falafel', 'carrot cake']    # 定义列表
friend_foods = my_foods[:] # 复制列表
print('My favorite foods are:')
print(my_foods)
print("\nMy friend's favorite foods are:")
print(friend_foods)
运行结果:
My favorite foods are:
['pizza', 'falafel', 'carrot cake']
 
My friend's favorite foods are:
['pizza', 'falafel', 'carrot cake']
为每个列表添加一个元素:
my_foods.append('cannoli')
friend_foods.append('ice cream')
print('My favorite foods are:')
print(my_foods)
print("\nMy friend's favorite foods are:")
print(friend_foods)
运行结果:
My favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli']
 
My friend's favorite foods are:
['pizza', 'falafel', 'carrot cake', 'ice cream']
若将复制列表代码friend_foods = my_foods[:]用friend_foods = my_foods替代,运行上边添加元素代码会怎么呢?
My favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli', 'cannoli', 'ice cream']

 

My friend's favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli', 'cannoli', 'ice cream']
比较运行结果可知:代码friend_foods = my_foods只是将两个变量指向同一个列表;
                 代码 friend_foods = my_foods[:]是完全复制了一个列表,得到两个独立的列表
Note:复制列表时有么有方括号将会得到两种不同的结果。

猜你喜欢

转载自www.cnblogs.com/shirley-yang/p/11031909.html