Python 入门日记(四)—— 列表操作
2020.07.07 Python 入门的 Day4
成就:列表的部分操作方法
- for 循环遍历列表:1.用于储存列表中每个值的临时变量的名字可任意指定;2.for 循环结束时,临时变量的值是最后一次储存的列表的值。
- 用缩进表示 for 循环下的操作,因而不能滥用缩进。
magicians = ["alice", "david", "carolina"] for magician in magicians: print(magician.title()) for magician in magicians: print(magician.title() + ", that was a great trick!") print("I can't wait to see your next trick, " + magician.title() + ". \n") # 缩进表示 for 循环下的操作 print("Thank you, everyone. That was a great magic show!")
- Python 函数 range() 可生成一系列的数字,区间为“左闭右开”,通过传递参数可指定步长。
- 函数 list() 可将 range() 的结果直接转换为列表。
for value in range(1, 8): print(value) numbers = list(range(1, 8)) print(numbers) numbers = list(range(2, 10, 2)) print(numbers) # 步长为2
- 使用 range() 函数几乎可以生成任何有规律地序列
squares = [] for value in range(1, 11): squares.append(value**2) # 平方数序列 print(squares)
- 列表解析将 for 循环和创建新元素的代码合成一行,并自动附加新元素。
squares = [value**2 for value in range(1, 11)] # 列表解析 print(squares)
- 处理 Python 的部分元素,Python 称之为切片。
- 切片时提供的范围依然是“左闭右开”区间。
- 如果没有指定第一个索引,Python 将自动从列表开头开始;如果没有指定第二个索引,Python 将提取到最后一个元素。
- 切片中可以使用负数索引。
players = ["charles", "martina", "michael", "florence", "eli"] print(players[0:3]) print(players[1:4]) print(players[ :4]) # 从头开始 print(players[2: ]) # 到最后一个结束 print(players[-3:]) # 从倒数第三个到最后一个
- 如果要遍历列表中的部分元素,可在 for 循环中使用切片。
for player in players[:3]: print((player.title()))
- 赋值列表时要提供索引,否则仅仅是改变指针的指向,而不是复制,有点类似 C 语言中的指针。
my_players = players[:] print(my_players) # 复制整个列表 my_players = players[1:2] print(my_players) #复制部分列表 my_players = players # 仅仅是将 my_players 指向 players 指向的列表 # 当 players 的内容改变时,my_players 的内容也改变
- 不能修改值的列表称为元组,但元组的值可以通过重新定义的方式改变。
- 元组与列表类似,但用圆括号(( ))表示,使用方法与列表基本一致。
dimensions = (50, 200) # 定义元组 for dimension in dimensions: print(dimension) # 遍历元组 dimensions = (400, 100) # 通过重新定义的方式修改元组的值 print(dimensions)