列表简介
一.列表是什么
bicycles = ['trek', 'cannondale', 'redline', 'specialized']print(bicycles)
['trek', 'cannondale', 'redline', 'specialized']
1.访问列表元素
bicycles = ['trek', 'cannondale', 'redline', 'specialized']print(bicycles[0])
trek
2.索引从0而不是1开始
bicycles = ['trek', 'cannondale', 'redline', 'specialized']print(bicycles[1])print(bicycles[3])
cannondalespecialized
Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1 ,可让Python返回最后一个列表元素:
bicycles = ['trek', 'cannondale', 'redline', 'specialized']print(bicycles[-1])
3.使用列表中的各个值
bicycles = ['trek', 'cannondale', 'redline', 'specialized']message = "My first bicycle was a " + bicycles[0].title() + "."print(message)
My first bicycle was a Trek.
二.修改、添加和删除元素
1.修改列表元素
motorcycles = ['honda', 'yamaha', 'suzuki']print(motorcycles)motorcycles[0] = 'ducati'print(motorcycles)
['honda', 'yamaha', 'suzuki']['ducati', 'yamaha', 'suzuki']
2.在列表中添加元素
①在列表末尾添加元素
motorcycles = ['honda', 'yamaha', 'suzuki']print(motorcycles)motorcycles.append('ducati')print(motorcycles)
['honda', 'yamaha', 'suzuki']['honda', 'yamaha', 'suzuki', 'ducati']
②在列表中插入元素
motorcycles = ['honda', 'yamaha', 'suzuki']motorcycles.insert(0, 'ducati')print(motorcycles)
['ducati', 'honda', 'yamaha', 'suzuki']
3.从列表中删除元素
①使用del语句删除元素
motorcycles = ['honda', 'yamaha', 'suzuki']print(motorcycles)del motorcycles[0]print(motorcycles)
['honda', 'yamaha', 'suzuki']['yamaha', 'suzuki']
②使用方法pop()删除元素
motorcycles = ['honda', 'yamaha', 'suzuki']print(motorcycles)popped_motorcycle = motorcycles.pop()print(motorcycles)print(popped_motorcycle)
['honda', 'yamaha', 'suzuki']['honda', 'yamaha']suzuki
③弹出列表中任何位置处的元素
motorcycles = ['honda', 'yamaha', 'suzuki']first_owned = motorcycles.pop(0)print('The first motorcycle I owned was a ' + first_owned.title() + '.')
The first motorcycle I owned was a Honda.
④根据值删除元素
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']print(motorcycles)motorcycles.remove('ducati')print(motorcycles)
['honda', 'yamaha', 'suzuki', 'ducati']['honda', 'yamaha', 'suzuki']
三.组织列表
1.使用方法sort()对列表进行永久性排序
cars = ['bmw', 'audi', 'toyota', 'subaru']cars.sort()print(cars)
['audi', 'bmw', 'subaru', 'toyota']
2.使用函数sorted()对列表进行临时排序
cars = ['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:")print(cars)
Here is the original list:['bmw', 'audi', 'toyota', 'subaru']Here is the sorted list:['audi', 'bmw', 'subaru', 'toyota']Here is the original list again:['bmw', 'audi', 'toyota', 'subaru']
3.倒着打印列表
cars = ['bmw', 'audi', 'toyota', 'subaru']print(cars)cars.reverse()print(cars)
['bmw', 'audi', 'toyota', 'subaru']['subaru', 'toyota', 'audi', 'bmw']
4.确定列表的长度
>>> cars = ['bmw', 'audi', 'toyota', 'subaru']>>> len(cars)4
操作列表
一.遍历整个列表
magicians = ['alice', 'david', 'carolina']for magician in magicians:print(magician)
alicedavidcarolina
1.在for循环中执行更多的操作
magicians = ['alice', 'david', 'carolina']for magician in magicians:print(magician.title() + ", that was a great trick!"
Alice, that was a great trick!David, that was a great trick!Carolina, that was a great trick!
2.在for循环结束后执行一些操作
magicians = ['alice', 'david', 'carolina']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")print("Thank you, everyone. That was a great magic show!")
Alice, that was a great trick!I can't wait to see your next trick, Alice.David, that was a great trick!I can't wait to see your next trick, David.Carolina, that was a great trick!I can't wait to see your next trick, Carolina.Thank you, everyone. That was a great magic show!
二.创建数值列表
1.使用函数range()
for value in range(1,5):print(value)
1234
2.使用range()创建数字列表
要创建数字列表,可使用函数list()将range()的结果直接转换为列表。如果将range() 作为list() 的参数,输出将为一个数字列表。
numbers = list(range(1,6))print(numbers)
[1, 2, 3, 4, 5]
even_numbers = list(range(2,11,2))print(even_numbers)
在这个示例中,函数range() 从2开始数,然后不断地加2,直到达到或超过终值(11),因此输出如下:
[2, 4, 6, 8, 10]
3.对数字列表执行简单的统计运算
>>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]>>> min(digits)0>>> max(digits)9>>> sum(digits)45
4.列表解析
squares = [value**2 for value in range(1,11)]print(squares)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
三.使用列表的一部分
1.切片
players = ['charles', 'martina', 'michael', 'florence', 'eli']print(players[0:3])
['charles', 'martina', 'michael']
players = ['charles', 'martina', 'michael', 'florence', 'eli']print(players[:4])
['charles', 'martina', 'michael', 'florence']
players = ['charles', 'martina', 'michael', 'florence', 'eli']print(players[2:])
['michael', 'florence', 'eli']
2.遍历切片
players = ['charles', 'martina', 'michael', 'florence', 'eli']print("Here are the first three players on my team:")for player in players[:3]:print(player.title())
Here are the first three players on my team:CharlesMartinaMichael
3.复制列表
my_foods = ['pizza', 'falafel', 'carrot cake']friend_foods = my_foods[:]print("My favorite foods are:")print(my_foods)print("\nMy friend's favorite foods are:")print(friend_foods)
My favorite foods are:['pizza', 'falafel', 'carrot cake']My friend's favorite foods are:['pizza', 'falafel', 'carrot cake']
四.元组
1.定义元组
dimensions = (200, 50)print(dimensions[0])print(dimensions[1])
20050
dimensions = (200, 50)dimensions[0] = 250
Traceback (most recent call last):File "dimensions.py", line 3, in <module>dimensions[0] = 250TypeError:'tuple' object does not support item assignment
2.遍历元组中的所有值
dimensions = (200, 50)for dimension in dimensions:print(dimension)
20050
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)
Original dimensions:20050Modified dimensions:400100
