Python学习笔记3_列表操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习笔记3_列表操作相关的知识,希望对你有一定的参考价值。
1.1 遍历整个列表
需要对列表中的每个元素都执行相同的操作时,可使用Python中的for循环。
如,让Python从列表magicians中取出一个名字,并将其存储在变量magician中。
magicians = [‘alice‘, ‘david‘, ‘carolina‘] for magician in magicians: # Need spaces print(magician)
for magician in magicians: 让Python获取列表magicians中的第一个值(‘alice‘),并将其存储到变量magician中。接下来,Python读取下一行代码:print(magician).此后,Python获取列表中的下一个名字——‘david‘,并将其存储到变量magician中,再执行下面这行代码。for语句末尾的冒号告诉Python,下一行是循环的第一行。
在for循环中,可对每个元素执行任何操作;在for循环后面,没有缩进的代码都只执行一次,而不会重复执行。
magicians = [‘alice‘, ‘david‘] 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") print("Thank you, everyone. That was a great magic show!")
1.2 创建数值列表
1. 使用函数range()
Python函数range()让你能够轻松地生成一系列的数字。
for value in range(1,5): print(value)
range()只是打印数字1~4,这是你在编程语言中经常看到的差一行为的结果。函数range()让Python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不包含第二个值(这里为5)。
2. 使用range()创建数字列表
要创建数字列表,可使用函数list()将range()的结果直接转换为列表。如果将range()作为list()的参数,输出将为一个数字列表。使用函数range()时,还可指定步长。
for value in range(1,5): even_numbers = list(range(2,11,2)) print(even_numbers)
下面示例,创建了一个空列表squares;接下来,使用函数range()让Python遍历1~10的值。在循环中,计算当前值的平方,并将结果存储到变量square中。然后,将新计算得到的平方值附加到列表squares末尾。最后,循环结束后,打印列表squares。
squares = [] for value in range(1,11): # squares.append(value**2) square = value**2 squares.append(square) print(squares)
3. 对数字列表执行简单的统计计算
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] print(min(digits)) print(max(digits)) print(sum(digits))
1.3 列表解析
前面介绍的生成列表squares的方式包含三四行代码,而列表解析让你只需编写一行代码就能生成这样的列表。列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。
squares = [value**2 for value in range(1,11)] print(squares)
for循环为for value in range(1,11),它将值1~10提供给表达式value**2。请注意,这里的for语句末尾没有冒号。
1.4 使用列表的一部分
1.4.1 切片
处理列表的部分元素——Python称之为切片。要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引0~3,这将输出分别为0、1和2的元素。
players = [‘charles‘, ‘martina‘, ‘michael‘, ‘florence‘, ‘eli‘] print(players[0:3])
1.4.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())
1.4.3 复制列表
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。
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)
1.5 元组
列表非常适合用于存储在程序运行期间可能变化的数据集。然而,有时候你需要创建一系列不可修改的元素,元组可以满足这种需求。Python将不能修改的值称为不可变的,而不可变的列表被称为元组。
1.5.1 定义元组
元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
dimensions = (200, 50) print(dimensions[0])
1.5.2 修改元组变量
虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺寸,可重新定义整个元组.
dimensions = (200, 50) print("Original dimensions:") for dimension in dimensions: print(dimension) dimensions = (400, 100) print("\\nModified dimensions:") for dimension in dimensions: print(dimension)
注:很多Python程序员都建议每行不超过80字符。PEP 8中有关行长的指南并非不可逾越的红线,有些小组将最大行长设置为99字符。
以上是关于Python学习笔记3_列表操作的主要内容,如果未能解决你的问题,请参考以下文章