遍历整个列表

注意 for 语句后面的冒号: 以及后面的缩进

  1. motorcycles = ['bmw', 'audi', 'toyota', 'subaru']
  2. for motorcycle in motorcycles:
  3. print(motorcycle)

创建数值列表

使用函数 range()

函数 range() 可以生成一系列数,但是不是列表。
当有两个参数时,范围不包括第二个值。
当只有一个参数时,将从 0 开始。

  1. for value in range(1, 4):
  2. print(value)
  3. # 1
  4. # 2
  5. # 3
  1. for value in range(4):
  2. print(value)
  3. # 0
  4. # 1
  5. # 2
  6. # 3

当有三个参数时,第三个参数为步长。

  1. for value in range(1, 10, 2):
  2. print(value)
  3. # 1
  4. # 3
  5. # 5
  6. # 7
  7. # 9

使用 range() 创建数字列表

  1. 可使用函数 list()range() 的结果直接转换为列表。

    1. numbers = list(range(1, 6))
    2. print(numbers) # [1, 2, 3, 4, 5]
  2. 可先创建空列表,再遍历 range(),将值添加到列表中

在 Python 中,两个星号(**) 表示乘方运算。

  1. squares = []
  2. for value in range(1, 11):
  3. squares.append(value ** 2)
  4. print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

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

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

列表解析

  1. squares = [value ** 2 for value in range(1, 11)]
  2. print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

使用列表的一部分

切片

在第二个索引位置前停止
如果没有指定第一个索引,将自动从列表开头开始
如果没有指定第二个索引,将到末尾
如果两个都省略,则返回整个列表

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

可以为负数

  1. players = ['charles', 'martina', 'michael', 'florence', 'eli']
  2. # 输出倒数三个元素
  3. print(players[-3: ]) # ['michael', 'florence', 'eli']

还可以再加个冒号,指定第三个值。这个值告诉 Python 每隔多少元素提取一个。
默认且最小是 1

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

遍历切片

  1. players = ['charles', 'martina', 'michael', 'florence', 'eli']
  2. for player in players[:3]:
  3. print(player.title())
  4. '''
  5. Charles
  6. Martina
  7. Michael
  8. '''

复制列表

生成一个包含全部元素的切片

  1. my_foods = ['pizza', 'coffee']
  2. friend_foods = my_foods[:]
  3. my_foods.append('ice cream')
  4. print(my_foods) # ['pizza', 'coffee', 'ice cream']
  5. print(friend_foods) # ['pizza', 'coffee']

元组

元组的元素不可变,修改程序会报错。

  1. dimensions = (200, 50)
  2. dimensions[0] = 200 # TypeError: 'tuple' object does not support item assignment

可以给存储元组的变量重新赋值。
和列表类似,但是使用圆括号标识,严格说是使用逗号标识的,逗号不能省略,当定义只有一个元素的元组时,必须在这个元素后面加上逗号。

  1. dimensions = (200, 500)
  2. print(type(dimensions)) # <type 'tuple'>
  3. dimensions = (200,)
  4. print(type(dimensions)) # <type 'tuple'>
  5. dimensions = 200, 50
  6. print(type(dimensions)) # <type 'tuple'>
  7. dimensions = 200,
  8. print(type(dimensions)) # <type 'tuple'>

可以使用索引访问。

  1. dimensions = (200,)
  2. print(dimensions[0]) # 200

像列表一样,可以使用 for 循环遍历

  1. dimensions = (200, 50)
  2. for dimension in dimensions:
  3. print(dimension)
  4. # 200
  5. # 50