列表由一系列按特定顺序排列的元素组成。可以将任何东西加入列表中,其中的元素之间可以没有任何关系。
在Python中,用方括号([])表示列表,并用逗号分隔其中的元素。
>>> bicycles = ['trek','cannondale','redline','specialized']
>>> print(bicycles)
['trek', 'cannondale', 'redline', 'specialized']
列表是有序集合,因此要访问列表的任意元素,只需将该**元素的位置(索引)**告诉Python即可。
# 索引从0而不是1开始
>>> print(bicycles[0])
trek
元素再调用方法
>>> print(bicycles[0].title())
Trek
通过将索引指定为-1,可让Python返回最后一个列表元素:
>>> print(bicycles[-1].title())
Specialized
索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素,依此类推。
可以像使用其他变量一样使用列表中的各个值
>>> message=f"my first bicycle was a {bicycles[-2].title()}"
>>> print(message)
my first bicycle was a Redline
要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles[0] = 'ducati'
print(motorcycles)
# ['ducati', 'yamaha', 'suzuki']
在列表末尾添加元素
在列表中添加新元素时,最简单的方式是将元素附加(append)到列表。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.append('ducati')
print(motorcycles)
在列表中插入元素
使用方法insert()可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati')
print(motorcycles)
方法insert()在索引0处添加空间,并将值’ducati’存储到这个地方。这种操作将列表中既有的每个元素都右移一个位置.
方法insert()在索引0处添加空间,并将值’ducati’存储到这个地方。这种操作将列表中既有的每个元素都右移一个位置.
可以根据位置或值来删除列表中的元素。
使用del语句删除元素
motorcycles = ['honda', 'yamaha', 'suzuki']
del motorcycles[0]
print(motorcycles)
# ['yamaha', 'suzuki']
使用方法pop()删除元素
假设列表中的摩托车是按购买时间存储的,就可使用方法pop()打印一条消息,指出最后购买的是哪款摩托车:
motorcycles = ['honda', 'yamaha', 'suzuki']
last_owned = motorcycles.pop()
print(f"The last motorcycle I owned was a {last_owned.title()}.")
弹出列表中任何位置处的元素
可以使用pop()来删除列表中任意位置的元素,只需在圆括号中指定要删除元素的索引即可。
motorcycles = ['honda', 'yamaha', 'suzuki']
first_owned = motorcycles.pop(0)
print(f"The first motorcycle I owned was a {first_owned.title()}.")
根据值删除元素
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
motorcycles.remove('ducati')
print(motorcycles)
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)
cars = ['bmw', 'audi', 'toyota', 'subaru']
print("\nHere is the sorted list:")
print(sorted(cars))
print("\nHere is the original list again:")
print(cars)
如果要按与字母顺序相反的顺序显示列表,也可向函数sorted()传递参数reverse=True。
要反转列表元素的排列顺序,可使用方法reverse()。
reverse()不是按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序:
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)
#['bmw', 'audi', 'toyota', 'subaru']
#['subaru', 'toyota', 'audi', 'bmw']
>>> cars = ['bmw', 'audi', 'toyota', 'subaru']
>>> len(cars)
4
参考:《Python编程:从入门到实践(第二版)》