python——操作列表

第4章 操作列表

在上一章的学习中,学习了如何创建一个简单的列表,学习了如何操作列表中的元素。
本章中,将学习如何遍历整个列表。

4.1 遍历整个列表

magicians = ['alice', 'david', 'carolina']
for magician in magicians:
    print(magician)
alice
david
carolina

对列表中的每个元素都执行循环指定的步骤,而不管列表包含多少个元素。

for magician in magicians:
    print(magician.title() + ", that was a great trick !")
print("Thank you, everyone. That was a great magic show !")
Alice, that was a great trick !
David, that was a great trick !
Carolina, that was a great trick !
Thank you, everyone. That was a great magic show !

4.2 避免缩进错误

4.3 创建数值列表

1、使用range()可轻松生成一系列的数字。
2、使用range()创建数值列表。list(range())
3、对数字列表进行简单的操作。min()、max()、sum()。

num = range(1, 9)
print(num)
num_list = list(num)
print(num_list)
num_min = min(num_list)
print("The min is :" + str(num_min))
num_max = max(num_list)
print("The max is : " + str(num_max))
num_sum = sum(num_list)
print("The sum is : " + str(num_sum))
range(1, 9)
[1, 2, 3, 4, 5, 6, 7, 8]
The min is :1
The max is : 8
The sum is : 36

前面介绍的生成列表squares的方式包含三四行代码,而列表解析只需编写一行代码就可生成这样的列表。
列表解析:列表解析将for循环和创建新元素的代码合并成一行,并自动附加新的元素。

squares = [value**2 for value in range(1, 11)]
print(squares)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

4.4 使用列表的一部分

在python中,我们可以使用列表的一部分,即我们可以处理列表的部分元素——切片。
1、切片。指定使用的第一个元素和最后一个元素的索引。与range()相同,python在达到第二个索引前面的元素后停止。
2、遍历切片。在for循环中使用切片。
3、复制列表。可以创建包含整个列表的切片[:]。

my_food = ['pizza', 'falafel', 'carrot cake']
friend_food = my_food[:]
print(my_food)
print(friend_food)
my_food.append("cannoli")
friend_food.append("ice cream")
print(my_food)
print(friend_food)
['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake', 'cannoli']
['pizza', 'falafel', 'carrot cake', 'ice cream']
print(my_food[0:3])
print("This food is special :")
for food in my_food[0:3]:
    print( food)
['pizza', 'falafel', 'carrot cake']
This food is special :
pizza
falafel
carrot cake

4.5 元组

列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的。但是,有时你需要创建一系列不可修改的元素,元组可以满足这种需求。
1、元组看起来犹如列表,但是元组是使用圆括号,而不是方括号来标识。
2、遍历元组中所有的值。可使用for循环。
3、修改元组变量。虽然不能修改元组的元素,但是可以给存储元组的变量赋值。

dimisions = (200, 50)
print(dimisions)
print(dimisions[0])
(200, 50)
200
dimisions = (100, 50)
print(dimisions)
for dimision in dimisions:
    print(dimision)
(100, 50)
100
50

练习

1、想出至少三种有共同特征的动物,将这些动物的名称存储在一个列表中,使用for循环将每种动物的名称打印出来。
a. 修改这个程序,使其针对每种动物都打印一个句子。例如:“A dog would make a great pet !”
b. 在程序末尾添加一行代码,指出这些动物的共同之处。
2、使用一个for循环,打印出1-20(含)
3、使用切片,打印前三个元素、中间3个元素、以及最后三个元素。
4、有一家自助餐,只提供五种简单的食品。想出五种简单的食品将其存储在一个元组中。
a. 使用for循环,将这五种食品都打印出来。
b. 尝试修改其中的一个元素值。
c. 餐馆调整了菜单,替换了它提供的其中两种食品。请编写这样一个代码块:给元组变量赋值,并使用for循环将每个元素都打印出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值