遍历整个列表
可使用for循环
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(f"{magician.title()},that was a great trick!")
在for循环中,想包含多少行代码都可以。在代码行 for magician in magicians 后面,每个缩进的代码行都是循环的一部分
在for循环结束后执行一些操作
需要将相应的代码放在for循环后面,且不缩进
:::tips 注意避免缩进错误,常见错误有:
- 忘记缩进
- 忘记缩进额外的代码行,如忘记缩进循环中的第二行代码
- 不必要的缩进
- 循环结束后不必要的缩进
- 遗漏了冒号
:::
创建数值列表
列表非常适合用于存储数字集合range()
```python for value in range(1,5): print(value)
![image.png](https://cdn.nlark.com/yuque/0/2021/png/1277032/1632916496670-bd55dd80-695a-4fed-9de5-b02884542092.png#clientId=ufa62ed63-2b7f-4&from=paste&height=478&id=ube80885e&margin=%5Bobject%20Object%5D&name=image.png&originHeight=956&originWidth=1402&originalType=binary&ratio=1&size=208468&status=done&style=none&taskId=uf43c46f6-3c22-47ad-81c8-c02477b1b63&width=701)<br />range()让Python从指定的第一个数开始数,并在到达你指定的第二个值时停止。因为它在第二个值处停止,所以输出**不包含**该值<br />使用range()时,也可**只指定**一个参数,这样他将从0开始。例如,range(6)返回数字0~5
<a name="JOAKG"></a>
## 使用range()创建数字列表
```python
numbers = list(range(1,6))
print(numbers)
使用函数range()时,还可指定步长
even_numbers = list(range(2,11,2))
print(even_numbers)
# 在这个示例中,函数range()从2开始数,然后不断加2,直到达到或超过终值(11)
使用range()几乎能够创建任何需要的数集,例如,创建一个包含1~10的平方的列表
squares = []
for value in range(1,11):
square = value ** 2
squares.append(square)
print(squares)
也可以不使用临时变量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
使用列表的一部分
切片
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[1:3])
如果没有指定第一个索引,Python将自动从列表开头开始:
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[:3])
要让列表终止与列表末尾,也可以使用类似的语法
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[2:])
如果要输出名单上的最后三名队员,可使用切片players[-3:]
遍历切片
nums = ['a', 'b', 'c', 'd', 'e']
for num in nums[:3]:
print(num.title())
复制列表
#复制列表
num1 = ['1','2','3']
num2 = num1[:]
num1.append('0')
num2.append('9')
print(f"num1:{num1}")
print(f'num2:{num2}')
:::tips
如果使用num1 = num2
实际上是让两个变量指向同一个列表,不是复制,也不能独立修改
:::
元组
有时候需要创建一系列不可修改的元素,Python将不能修改的值称为不可变的,而不可变的列表被称为元组
定义元组
元组看起来很像列表,但使用圆括号而非中括号来表示.定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样
# 元组
dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])
:::tips
严格的讲,元组是由逗号标识的,圆括号只是让元组看起来更整洁,更清晰.如果你要定义只包含一个元素的元组,必须在这个元素的后面加上逗号my_t = (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)