列表
列表由一系列按特定顺序排列的元素构成。你可以创建包含字母表中所有字母,数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系列表通常包含多个元素,因此给列表指定一个表示复数的名称是个不错的主意。
在Python中用方括号[]
表示列表,并用逗号分隔其中的元素。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
如果让Python将列表打印出来,Python将打印列表的内部表示,包括方括号
访问列表元素
只需要该元素的索引
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0]) # trek
print(bicycles[0].title()) #Trek
Python为访问最后一个列表元素提供了一种特殊语法,通过将索引指定为-1,可让Python返回最后一个列表元素。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[-1]) #'specialized'
print(bicycles[-2]) #'redline'
修改列表元素
motocycles[0] = 'ducati'
在列表中添加元素
附加append
给列表附加元素时,它将添加到列表末尾
motocycles = ['honda', 'yamaha', 'suzuki']
print(motocycles)
motocycles.append('ducati')
print(motocycles)
也可以创建一个空列表,使用append添加元素
motocycles = []
print(motocycles)
motocycles.append('ducati')
print(motocycles)
在列表中插入元素
insert()
motocycles = ['honda', 'yamaha', 'suzuki']
print(motocycles)
motocycles.insert(0,'ducati')
print(motocycles)
从列表中删除元素
del
del arr[index]
pop
方法pop()
删除列表末尾的元素,并让你能够接着使用它。
motocycles = ['honda', 'yamaha', 'suzuki']
print(motocycles)
popped_motocycle = motocycles.pop()
print(motocycles)
print(popped_motocycle)
弹出列表中任何位置处的元素
实际上,可以使用pop()
来删除列表中任意位置的元素,只需在圆括号中指定要删除元素的索引即可
motocycles = ['honda', 'yamaha', 'suzuki']
first_owned = motocycles.pop(0)
print(f"The first motocycle I owned was a {first_owned.title()}")
别忘了,每当你使用pop()
时,被弹出的元素就不在列表中了
根据值删除元素
有时候,你不知道要从列表中删除的值所处的位置。如果只知道要删除的元素的值,可使用方法remove()
motocycles = ['honda', 'yamaha', 'suzuki']
print(motocycles)
motocycles.remove('yamaha')
print(motocycles)
使用remove()
从列表中删除元素时,也可接着使用它的值
motocycles = ['honda', 'yamaha', 'suzuki']
print(motocycles)
too_expensive = 'yamaha'
motocycles.remove('yamaha')
print(motocycles)
print(f"\n A {too_expensive.title()} is too too expensive for me")
方法
remove()
只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环,来确保每个值都删除。
组织列表
使用方法sort()
对列表永久排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
# ['audi', 'bmw', 'subaru', 'toyota']
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse = True) # 按与字母顺序相反的顺序排列
print(cars)
# ['toyota', 'subaru', 'bmw', 'audi']
使用函数sorted()
对列表临时排列
函数sorted()
让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排排列
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
print(sorted(cars))
print(cars)