本章目录
- 遍历整个列表
- 创建数值列表
- 使用列表的一部分
- 元组
- 往期
- [Python3完全新手小白的学习手册 3 列表](https://blog.csdn.net/qyydeep/article/details/148899733?spm=1001.2014.3001.5501)
- [Python3完全新手小白的学习手册 2 变量和简单数据类型](https://blog.csdn.net/qyydeep/article/details/148873421?spm=1001.2014.3001.5501)
- [Python3完全新手小白的学习手册 1 Python 的安装](https://blog.csdn.net/qyydeep/article/details/148856762?spm=1001.2014.3001.5501)
- 代码仓库
遍历整个列表
使用for循环遍历列表 for 临时名字 in 列表名:
# magicians.py
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
终端输出:
alice
david
carolina
定义了一个列表。接下来,定义一个 for 循环。这行代码让 Python 从列表 magicians 中取出一个名字,并将其存储在变量 magician 中。让 Python 打印变量 magician 的值(即魔术师的名字),并对列表中的每个名字都执行这个操作。
输入研究列表
循环很重要,因为它是让计算机自动完成重复工作的常见方式之一。在你编写的大部分循环中,都将使用到 for 循环。
# 这行代码让 Python 获取列表 magicians 中的第一个值 'alice',并将其与变量 magician 相关联。
for magician in magicians:
# 打印 magician 的值,依然是 'alice'。
print(magician)
# Python 获取列表中的下一个名字 'david',并将其与变量 magician 相关联,再执行打印
# Python 再次打印变量 magician 的值,当前为 'david'。
# 接下来,Python 再次执行整个循环,对列表中的最后一个值 'carolina' 进行处理。
在 for 循环中执行更多的操作
在 for 循环中,可以对每个元素执行任意操作。
# magicians.py
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
# 为每位魔术师都打印一条以其名字为抬头的消息。
print(f"{magician.title()}, that was a great trick!")
终端输出:
Alice, that was a great trick!
David, that was a great trick!
Carolina, that was a great trick!
第一次通过循环时,变量 magician 的值为 ‘alice’,因此 Python 打印的第一条消息的抬头为 ‘Alice’;第二次通过循环时,消息的抬头为 ‘David’;第三次通过循环时,抬头为 ‘Carolina’。
创建数值列表
列表非常适合用于存储数值集合,而 Python 提供了很多工具,可帮助你高效地处理数值列表。
使用函数 range()
Python 函数 range() 让你能够轻松地生成一系列的数。
# first_number.py
# 打印 1-4
for value in range(1, 5):
print(value)
终端输出:
1
2
3
4
range() 函数让 Python 从指定的第一个值开始数,并在到达指定的第二个值时停止。
要打印数 1~5,需要使用 range(1,6)。
使用 range() 创建数值列表
numbers = list(range(1, 6))
print(numbers)
终端输出:
[1, 2, 3, 4, 5]
代码打印 1~10 的偶数
even_numbers = list(range(2, 11, 2))
print(even_numbers)
终端输出:
[2, 4, 6, 8, 10]
使用 range() 函数几乎能够创建任意数值集合。
squares = []
for value in range(1, 11):
square = value ** 2
squares.append(square)
print(squares)
终端输出:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
首先,创建一个名为 squares 的空列表。接下来,使用range() 函数让 Python 遍历 1~10 的值。在循环中,计算当前值的平方,并将结果赋给变量 square。
可不使用临时变量 square,而是直接将计算得到的每个值追加到列表末尾。
squares = []
for value in range(1,11):
squares.append(value**2)
print(squares)
对数值列表执行简单的统计计算
找出数值列表中的最大值、最小值和总和。
>>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> min(digits)
0
>>> max(digits)
9
>>> sum(digits)
45
列表推导式
列表推导式(list comprehension)将 for 循环和创建新元素的代码合并成一行,并自动追加新元素。
squares = [value**2 for value in range(1,11)]
print(squares)
终端输出:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
要使用这种语法,首先指定一个描述性的列表名,如 squares。然后指定一个左方括号,并定义一个表达式,用于生成要存储到列表中的值。
使用列表的一部分
切片
要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数 range() 一样,Python 在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引 0~3,这将分别提取索引 0、1 和 2 对应的元素。
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])
终端输出:
['charles', 'martina', 'michael']
输出前三名队员
如果没有指定第一个索引,Python 将自动从列表开头开始
players = ['charles','martina','michael', 'florence', 'eli']
print(players[:4])
终端输出:
['charles','martina','michael', 'florence']
如果要提取从第三个元素到列表末尾的所有元素,可将起始索引指定为 2。
players = ['charles','martina','michael', 'florence', 'eli']
print(players[2:])
终端输出:
['michael', 'florence', 'eli']
如果要输出名单上最后三名队员的名字,可使用切片 players[-3:]:
players = ['charles','martina','michael', 'florence', 'eli']
print(players[-3:])
终端输出:
['michael', 'florence', 'eli']
遍历切片
如果要遍历列表的部分元素,可在 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())
终端输出:
Here are the first three players on my team:
Charles
Martina
Michael
复制列表
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。这让 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)
终端输出:
My favorite foods are:
['pizza', 'falafel', 'carrot cake']
My friend's favorite foods are:
['pizza', 'falafel', 'carrot cake']
元组
有时候需要创建一系列不可修改的元素,元组可满足这种需求。
定义元组
元组看起来很像列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素。
# dimensions.py
dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])
终端输出:
200
50
遍历元组中的所有值
像列表一样,也可以使用 for 循环来遍历元组中的所有值。
# dimensions.py
dimensions = (200, 50)
for dimension in dimensions:
print(dimension)
终端输出:
200
50
修改元组变量
虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺寸,可重新定义整个元组。
# dimensions.py
dimensions = (200, 50)
print("Original dimensions:")
for dimension in dimensions:
print(dimension)
dimensions = (400, 100)
print("\nModified dimensions:")
for dimension in dimensions:
print(dimension)
终端输出:
Original dimensions:
200
50
Modified dimensions:
400
100
元组变量重新赋值是合法的,因为元组是不可变的。

1146

被折叠的 条评论
为什么被折叠?



