遍历整个列表

可使用for循环

  1. magicians = ['alice', 'david', 'carolina']
  2. for magician in magicians:
  3. 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)
  1. ![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
  2. <a name="JOAKG"></a>
  3. ## 使用range()创建数字列表
  4. ```python
  5. numbers = list(range(1,6))
  6. print(numbers)

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

  1. even_numbers = list(range(2,11,2))
  2. print(even_numbers)
  3. # 在这个示例中,函数range()从2开始数,然后不断加2,直到达到或超过终值(11)

image.png
使用range()几乎能够创建任何需要的数集,例如,创建一个包含1~10的平方的列表

  1. squares = []
  2. for value in range(1,11):
  3. square = value ** 2
  4. squares.append(square)
  5. print(squares)

也可以不使用临时变量square,使代码更简洁

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

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

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

使用列表的一部分

处理列表的部分元素,Python称之为切片

切片

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

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

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

image.png
要让列表终止与列表末尾,也可以使用类似的语法

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

如果要输出名单上的最后三名队员,可使用切片players[-3:]

遍历切片

nums = ['a', 'b', 'c', 'd', 'e']
for num in nums[:3]:
    print(num.title())

image.png

复制列表

#复制列表
num1 = ['1','2','3']
num2 = num1[:]
num1.append('0')
num2.append('9')
print(f"num1:{num1}")
print(f'num2:{num2}')

image.png :::tips 如果使用num1 = num2实际上是让两个变量指向同一个列表,不是复制,也不能独立修改 :::

元组

有时候需要创建一系列不可修改的元素,Python将不能修改的值称为不可变的,而不可变的列表被称为元组

定义元组

元组看起来很像列表,但使用圆括号而非中括号来表示.定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样

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

image.png :::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)

image.png