1、列表
1.1 创建列表
Python使用[]
表示列表,并用逗号隔开其中的元素
bicycles = ['trek', 'cannodale', 'redline', 'specialized']
print(bicycles)
1.2 访问列表元素
列表是有序的,使用下标访问列表元素,索引下标是从0开始而不是从1开始
同时,Python为访问最后一个列表元素提供了一种特殊语法,通过将索引指定为-1,可以让python返回最后一个元素,同样-2表示倒数第二个元素,以此类推
print(bicycles[0]) //输出列表的首个元素
print(bicycles) //输出整个列表
1.3 修改,添加和删除元素
1.3.1 修改元素
修改元素,可以直接指定列表名和索引号,然后直接赋予新值即可
bicycles = ['trek', 'cannodale', 'redline', 'specialized']
bicycles[0] = "ducati"
print(bicycles)
1.3.2 在列表中添加元素
-
在列表末尾添加元素
motorcycles = ['honda', 'yamaha', 'suzuki'] motorcycles.append('ducati') print(motorcycles)
-
在列表中插入元素
motorcycles = ['honda', 'yamaha', 'suzuki'] motorcycles.insert(0, 'ducati') print(motorcycles)
-
列表中删除元素
motorcycles = ['honda', 'yamaha', 'suzuki'] print(motorcycles) // 使用del删除元素 del motorcycles[0] print(motorcycles) // 使用pop()删除元素 popped_motorcycle = motorcycles.pop() print(motorcycles) print(popped_motorcycle) // 使用pop()弹出任何位置的元素 first_owned = motorcycles.pop(0) print('the first motorcycle I owned was a ' + first_owned.title() + '.') // remove()函数根据值删除元素 too_expensive = motorcycles.remove('ducati') print(motorcycles)
1.4 组织列表
-
使用sort()对列表进行永久排序
// 按字母正序排列 cars = ['bmw', 'audi', 'toyota', 'subaru'] cars.sort() print(cars) // 按字母顺序相反进行排序 cars = ['bmw', 'audi', 'toyota', 'subaru'] cars.sort(reverse=True) print(cars)
-
使用sorted()对列表进行临时排序
只临时改变列表中元素的顺序,列表中元素实际顺序保持不变
cats = ['bmw', 'audi', 'toyota', 'subaru'] print("here is the original list:") print(cars) print("\nHere is the sorted list:") print(sorted(cars)) print("\nHere is the original list again:") prin(cars)
-
使用reverse()倒着打印列表
注意,reverse()不是按与字母顺序相反的顺序排列列表元素,而只是反正列表元素的排列顺序
cars = ['bmw', 'toyota', 'subaru', 'audi'] cars.reverse()
1.5 列表长度
使用len()可快速获知列表长度
cars = ['bmw', 'audi', 'toyota', 'subaru']
len(cars)
1.6 遍历列表
使用for循环,遍历列表中的元素
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
在for循环中,想包含多少行代码都可以,但是要注意缩进。
python根据缩进来判断行与前一个代码行的关系。注意不要忘记for语句最后的冒号:
1.7 创建数值列表
1.7.1 使用range()
-
生成数字
range(first_num, last_num)函数可以轻松生成一系列的数字, 打印出的为[first_num, last_num),不包含last_num
for value in range(1, 5)
print(value) // 该条语句只会打印1, 2, 3, 4 不包含5
-
创建数组列表
numbers = list(range(1, 6)) print(numbers)
-
使用range()时,还可以制定步长
even_numbers = list(range(2, 11, 2)) print(even_numbers) // 打印从2到10的偶数
1.8 对数字进行简单的统计计算
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9]
// 最小值
min(digits)
max(digits)
sum(digits)
1.9 列表解析
列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。
squares = [value*2 for value in range(1, 11)]
// 表达式为value*2
// 编写一个for循环,用于给表达式提供值
1.10 使用列表的一部分
1.10.1 切片定义
要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与range()一样,python在到达指定的第二个索引前面的元素后停止。
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])
print(players[-3:])
1.10.2 遍历切片
使用for循环使用切片
players = ['charles', 'martina', 'michael', 'florence', 'eli']
for player in players [:3]:
print(player.title())
1.11 复制列表
复制列表,可创建一个包含整个列表的切片,方法是同时省略其实索引和终止索引([:])。这让python创建一个起始于第一个元素,终止于最后一个元素的切片,即复制整个列表
my_foods = ['pizza', 'falafel', 'carrot']
firend_foods = my_foods[:]
print("My favorite foods are:")
print(my_foods)
print("\nMy friend`s favorite foods are:")
print(frient_foods)
// 注意与以下情况的区别, 这种不是将my_foods的副本存放在friend_foods中
// 可以只简单理解为friend_foods指针指向了my_foods
friend_foods = my_foods
1.12 元组
1.12.1 定义元组
元组为一系列不可修改的元素
dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])
1.12.2 遍历元组
像列表一样,也可以使用for循环来遍历元组中的所有值
dimensions = (200, 50)
for dimension in dimensions:
print(dimension)
1.12.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)
网友评论