Python 使用列表一部分(切片)

使用列表的一部分(切片)

  • 处理列表的部分元素

切片

  • 指定第一个元素的索引和最后一个元素索引加1
  • 列表名[索引:索引+1] 索引加1:列表中第索引个元素 (左包括右不包括)
  • 未指定索引 列表名[:] 提取列表所有元素(即复制列表)
  • 未指定第一个索引:默认是从列表开头开始提取元素
  • 未指定末尾元素:默认是提取到列表最后一个元素
  • 负数索引返回离列表末尾相应距离的元素
# 切片案例
players = ['charles','martina','michael','florence','eli']
print(players[:])
print(players[0:3])
print(players[:3])
print(players[3:])
print(players[-3:])
['charles', 'martina', 'michael', 'florence', 'eli']
['charles', 'martina', 'michael']
['charles', 'martina', 'michael']
['florence', 'eli']
['michael', 'florence', 'eli']

遍历切片

  • 遍历切片,在for循环中使用切片
# 遍历切片案例
players = ['charles','martina','michael','florence','eli']

for player in players[:3]:
    print(player)
charles
martina
michael

复制列表

  • 既有列表,又要创建全新的列表
  • 省略起始索引和终止索引[ : ],让Python创建一个始于第一个元素,终止于最后一个元素的切片
# 复制列表案例1:
my_foods = ['pizza','falafel','carrot cake']
friend_foods = my_foods[:]

print("my favorite foods are :")
print(my_foods)
print("my friend favorite foods are :")
print(friend_foods)
my favorite foods are :
['pizza', 'falafel', 'carrot cake']
my friend favorite foods are :
['pizza', 'falafel', 'carrot cake']
# 复制列表案例2:
my_foods = ['pizza','falafel','carrot cake']
friend_foods = my_foods[:]
my_foods.append('cannoli')
friend_foods.append('ice cream')

print("my favorite foods are :")
print(my_foods)
print("my friend favorite foods are :")
print(friend_foods)
my favorite foods are :
['pizza', 'falafel', 'carrot cake', 'cannoli']
my friend favorite foods are :
['pizza', 'falafel', 'carrot cake', 'ice cream']
# 简单地赋值列表,未用切片
# 不能得到两个列表
my_foods = ['pizza','falafel','carrot cake']
# 将friend_foods 关联到包含在my_foods中的列表,两个变量都只想同一个列表
friend_foods = my_foods
my_foods.append('cannoli')
friend_foods.append('ice cream')

print("my favorite foods are :")
print(my_foods)
print("my friend favorite foods are :")
print(friend_foods)
my favorite foods are :
['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']
my friend favorite foods are :
['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']

练习

# 1.切片
# 列表,使用切片打印前3个元素,打印中间三个元素,打印末尾三个元素
numbers = list(range(1,10))
print(numbers[:])
print(numbers[0:3])
print(numbers[3:6])
print(numbers[6:9])
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
# 2.比萨
# 想出至少三种喜欢的比萨,将其名称存储在一个列表中,再使用for循环将每种比萨的名称都打印出来
# 修改这个for循环,使其打印包含比萨名称的句子,对于每种比萨都显示一行输出,如“I like pizza”
# 在程序末尾添加一行代码,不在for循环里,指出你有多喜欢比萨,输出应包含对每种比萨的消息,还有一个总结性句子,如“I reall love pizza”

pizzas = ['chess pizza','beef pizza','corn pizza','pepperoni pizza']
for pizza in pizzas:
    print(pizza)
print("#" * 20)
for pizza in pizzas:
    print("I like " + pizza.title() + "!")
print("\nI reall love pizza!")
##################################################
print("#" *50)
print("#" *50)
#################################################

# 创建比萨饼的副本,并将其存储到变量friend_pizza中,
# 在原来的比萨列表中添加一种比萨
# 在列表friend_pizzas中添加另一种比萨
# 核实两个不同的列表,为此打印消息“My favorite pizzas are:”,使用for循环打印第一个列表,打印消息“My friend's favorite pizzas are:”,在使用for循环
#打印第二个列表。
friend_pizza = pizzas[:]
pizzas.append('dog pizza')
friend_pizza.append('pig pizza')
print(pizzas)
print(friend_pizza)
print("My favorite pizzas are:")
for pizza in pizzas:
    print(pizza)
print("My friend's favorite pizzas are:")
for friend in friend_pizza:
    print(friend)
chess pizza
beef pizza
corn pizza
pepperoni pizza
####################
I like Chess Pizza!
I like Beef Pizza!
I like Corn Pizza!
I like Pepperoni Pizza!

I reall love pizza!
##################################################
##################################################
['chess pizza', 'beef pizza', 'corn pizza', 'pepperoni pizza', 'dog pizza']
['chess pizza', 'beef pizza', 'corn pizza', 'pepperoni pizza', 'pig pizza']
My favorite pizzas are:
chess pizza
beef pizza
corn pizza
pepperoni pizza
dog pizza
My friend's favorite pizzas are:
chess pizza
beef pizza
corn pizza
pepperoni pizza
pig pizza
# 3.使用多个循环
# 打印复制列表案例2中的元素
my_foods = ['pizza','falafel','carrot cake']
friend_foods = my_foods[:]
my_foods.append('cannoli')
friend_foods.append('ice cream')

print("my favorite foods are :")
for my_food in my_foods:
    print(my_food)
print("my friend favorite foods are :")
for friend_food in friend_foods:
    print(friend_food)
my favorite foods are :
pizza
falafel
carrot cake
cannoli
my friend favorite foods are :
pizza
falafel
carrot cake
ice cream
posted @ 2019-09-19 23:03  野哥李  阅读(12)  评论(0编辑  收藏  举报  来源