Python -- 3. 操作列表

来源:互联网 发布:淘宝直播怎么没有了 编辑:程序博客网 时间:2024/06/05 04:17

1. 遍历整个列表

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


2. 避免缩进错误
Python根据缩进来判断代码行与前一个代码行的关系。

  • 忘记缩进
  • 不必要的缩进
  • 遗漏了冒号


3. 创建数值列表
(1).使用函数range()
函数range() 能够轻松地生成一系列的数字,从你指定的第一个值开始数,并在到达你指定的第二个值前停止

for value in range(1,5):    print(value)

(2).使用range() 创建数字列表
要创建数字列表,可使用函数list() 将range() 的结果直接转换为列表。

numbers = list(range(1,6))print(numbers)

使用函数range() 时,还可指定步长

even_numbers = list(range(2,11,2))print(even_numbers)

(3).对数字列表执行简单的统计计算

>>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]>>> min(digits)0 >>> max(digits)9 >>> sum(digits)45

(4).列表解析 (列表推导式)
[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]
阅读理解列表表达式的推荐做法是:先从里面的for循环开始,向右查看是否有if条件,然后向左依次执行表达式,并放在列表[ ]里。

#在for循环里,依次执行value**2的操作,并存在[]里squares = [value**2 for value in range(1,11)]print(squares)


4. 使用列表的一部分(切片)
处理列表的部分元素——Python称之为切片
(1).切片
要创建切片,可指定要使用的第一个元素和最后一个元素的索引,Python在到达你指定的第二个索引前面的元素后停止。

players = ['charles', 'martina', 'michael', 'florence', 'eli']print(players[0:3])

如果你没有指定第一个索引,Python将自动从列表开头开始:

players = ['charles', 'martina', 'michael', 'florence', 'eli']print(players[:4])

如果你没有指定最后一个索引,则切片终止于列表末尾:

players = ['charles', 'martina', 'michael', 'florence', 'eli']print(players[2:])

(2).遍历切片
如果要遍历列表的部分元素,可在for 循环中使用切片。

players = ['charles', 'martina', 'michael', 'florence', 'eli']print("Here are the first three players on my team:")for player in players[:3]:    print(player.title())

(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_foods 赋给friend_foods ,就不能得到两个列表。

my_foods = ['pizza', 'falafel', 'carrot cake']#这行不通friend_foods = my_foodsmy_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)

这种语法实际上是让Python将新变量friend_foods 关联到包含在my_foods 中的列表,因此这两个变量都指向同一个列表。



5. 元组
Python将不能修改的值称为不可变的 ,而不可变的列表被称为元组。
元组看起来犹如列表,但使用圆括号而不是方括号来标识。
(1).定义元组

dimensions = (200, 50)print(dimensions[0])print(dimensions[1])

尝试修改元组dimensions 中的一个元素,将出错

dimensions = (200, 50)dimensions[0] = 250 #出错

(2).遍历元组中的所有值

dimensions = (200, 50)for dimension in dimensions:    print(dimension)

(3).修改元组变量
虽然不能修改元组的元素,但可以给存储元组的变量赋值。

dimensions = (200, 50)print("Original dimensions:")for dimension in dimensions:    print(dimension)dimensions = (400, 100)print("\nModified dimensions:")for dimension in dimensions:    print(dimension)
0 0