Python列表的操作

第四章 操作列表

4.1 遍历整个列表

如果要遍历整个列表,可以使用for循环,通过使用临时变量来将列表中的元素取出。

4.1.1 深入的研究循环

例如:

❶ magicians = ['alice', 'david', 'carolina']

❷ for magician in magicians:

        ❸ print(magician)

对于上述代码,通过使用临时变量来获取列表中的值,从而实现对列表中的值的遍历。

4.1.2 在for循环中执行更多的操作

在for循环中,想包含多少行代码都可以,每个缩进的代码行都是循环的一部分,且将针对列表中的每个值都执行一次。

4.1.3 在for循环结束后执行一些操作

在for循环结束后,通常,需要提供总结性输出,以便是程序更加的完整。

4.2 避免缩进错误

4.2.1 忘记缩进

对于for循环后面的代码,要有缩进,如未有缩进,就不属于for循环的代码块

4.2.2 忘记缩进的额外的代码行

对于for循环内的代码快,别忘了缩进,如果忘了,就会造成逻辑错误

例如:

magicians = ['alice', 'david', 'carolina']

for magician in magicians:

        print(magician.title() + ", that was a great trick!")

❶ print("I can't wait to see your next trick, "+magician.title() + ".\n")

在❶中,本应该执行三次,但因为没有缩进,从而造成了只执行一次。

4.2.3 不必要的缩进

不必要的缩进的语法错误。

如:

File "hello_world.py", line 2

print(message)

^

IndentationError: unexpected indent

4.2.4 循环后不必要的缩进

注意在循环后,如果有总结性的语句,注意不必要的缩进

4.2.5 遗漏了冒号

对于for循环,要注意for循环语句末尾要有冒号,这是告诉Python,下一行是循环的下一行。

4.3 创建数值列表

4.3.1 使用函数range()

Python函数range()可以让你轻松的生成一系列的数字。

例如:

for value in range(1,5):

        print(value)

注意:range()函数为左包含而右不包含,

函数range() 让Python从你指定的第一个值开始数

4.3.2 使用range创建数字列表

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

如果将range() 作为list() 的参数,输出将为一个数字列表。

例如:

number = list(range(1,6))

print(number)

结果如下:

[1, 2, 3, 4, 5]

在range()函数中还可以指定步长

例如:

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

print(even_numbers)

4.3.3 对数字列表执行简单的统计计算

对于列表,还可以找出列表的最大值,最小值和总和

例如:

>>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

>>> min(digits)

0

>>> max(digits)

9

>>> sum(digits)

45

4.3.4 列表解析

列表解析,将for 循环和创建新元素的代码合并成一行,并自动附加新元素。

例如:

squares = [value**2 for value in range(1,11)] print(squares)

输出:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

4.4 使用列表的一部分

4.4.1 切片

要创建切片,可指定要使用的第一个元素和最后一个元素的索引。Python在到达你指定的第二个索引前面的元素后停止。

例如:

players = ['charles', 'martina', 'michael', 'florence', 'eli']

❶ print(players[0:3])

可以通过索引来生成列表的任何子集,

可以通过不指定第一个索引,遍历到第二个数字为止的列表的位置。

例如:

player[:5]

也可通过负数索引返回离列表末尾相应距离的元素,因此你可以输出列表末尾的任何切片。

例如:

print(players[-3: ]

4.4.2 遍历切片

若只遍历列表的部分元素,可在for循环中使用切片。

例如:

for player in players[ :3]:

        print(player.title())

4.4.3 复制列表

要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])

例如:

❶ my_foods = ['pizza', 'falafel', 'carrot cake']

❷ friend_foods = my_foods[:]

注意:不可简单的将my_foods赋值给friend_foods,这种语法实际上是让Python将新变量friend_foods 关联到包含在my_foods 中的列表,因此这两个变量都指向同一个列表。

my_foods = ['pizza', 'falafel', 'carrot cake']

#这行不通

❶ friend_foods = my_foods

4.5 元组

Python将不能修改的值称为不可变的,而不可变的列表被称为元组。

4.5.1 定义元组

元组使用圆括号而不是方括号来标识,可以使用索引来访问其元素,从0开始。

注意:元组不可修改。

4.5.2 遍历元组中的所有值

使用for循环遍历元组的值

例如:

dimensions = (200, 50)

for dimension in dimensions:

print(dimension)

输出:

200

50

4.5.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)

4.6 设置代码格式

4.6.1 格式设置指南

Python改进提案(俗称:PEP),PEP8是最古老的PEP之一。它向Python程序员提供了代码格式设置指南。

4.6.2 缩进

PEP8建议每级缩进都是用四个空格。

在字处理文档中,大家常常使用制表符而不是空格来缩进。

4.6.3 行长

对于行长来说,PEP8还建议注释的行长都不超过72个字符。

4.7 总结

在本章中,介绍了如何使用for循环来遍历列表。介绍了Python如何通过缩进来确定程序的结构以及如何避免一些常见的缩进错误。介绍了如何创建数字列表,以及可对数字列表执行的一些操作。介绍了如何通过切片来使用列表的一部分和复制列表。

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值