python入门学习:3.操作列表

时间:2021-09-29 18:17:24

python入门学习:3.操作列表

关键点:列表

3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组

3.1 遍历整个列表

  循环这种概念很重要,因为它是计算机自动完成重复工作的常见方式之一。下面使用for循环来遍历。
  注意for循环的循环体可以包含多行代码,只需要保持缩进即可

1magicians = ['alice','david','carolina']
2for magician in magicians:    #依次遍历magicians 将其值存入magician
3    print(magician)
4#打印值
5alice
6david
7carolina

3.2 创建数值列表

3.2.1 使用函数range()
  python函数range()让你能够轻松的生成一系列数字。例如:

1for value in range(1,5): #生成一个从1开始到5结束的一个列表
2    print(value)
31
42
53
64

3.2.2 使用函数range()创建数字列表
  要创建数字列表,可使用函数list()将range()的结果直接转换为列表。如果将range()作为list()的参数,输出将为一个数字列表。

1numbers = list(range(1,6))
2print(numbers)
3
4[1, 2, 3, 4, 5]

  range()函数还可以指定步长。

1numbers = list(range(2,11,2)) #生成从2~11的数字列表,步长为2
2print(numbers)
3[2, 4, 6, 8, 10]

  创建1~10的平方

1squares = []  #创建一个空列表
2for value in range(1,11):  #依次创建1~10
3    square = value**2      #value*value
4    squares.append(square) #添加到列表
5print(squares)
6
7[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

3.2.3 对数字列表进行统计计算
  计算最大值和最小值以及求和:

1digits = [1,2,3,4,5,6,7,8,9,0]
2min(digits)
30
4max(digits)
59
6sum(digits)
745

3.2.4 列表解析
  前面介绍的生成列表的方式包含三四行代码,而列表解析让你只需要编写一行代码就可以生成同样的代码。列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。

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

  在这个示例中,表达式为value**2,它计算平方值。接下来编写一个for循环,用于给表达式提供值,再加上右括号。注意,这里的for循环不加冒号

3.3 使用列表

3.3.1 切片
  处理列表的部分元素,python称之为切片。要创建切片,可指定要使用的第一个元素的索引和最后一个元素的索引加1。

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

  如果没有指出第一个索引,python将自动从列表开头开始提取

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

  终止列表末尾索引也可以省略

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

3.3.2 遍历切片
  如果要遍历列表的部分元素,可在for循环中使用切片。

1players = ['charles','martina','florence','eli']
2for player in players[:3]:
3    print(player.title())

3.3.3 复制列表
  复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])

1my_foods = ['pizza','falafel','carrot cake']
2friend_foods = my_foods[:]  #两份独立的列表,修改其中任意一个,对另外一个没有影响
3friend_foods = my_foods     #将my_foods赋值给friend_foods,两个变量指向同一列表
4print(friend_foods)

3.4 元组

  python将不能修改的值称为不可变的,不可变的列表称为元组。
3.4.1 定义元组
  元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。

1dimensions = (200,50)
2print(dimensions[0])
3print(dimensions[1])

3.4.2 遍历元组中的所有值
  通过for循环来遍历元组中所有值

1dimensions = (200,50)
2for dimension in dimensions:
3    print(dimension)

3.4.3 修改元组变量
  虽然不能修改元组的元素,但可以给存储元组的变量赋值。

1dimensions = (200,50)
2print("Original dimensions:")
3for dimension in dimensions:
4    print(dimension)
5dimensions = (400,50)      #重新定义元组的值
6print("\nModified dimensions:")
7for dimension in dimensions:
8    print(dimension)