2.列表--《Python编程:从入门到实践》
2.1 列表
列表由一系列按特定顺序排列的元素组成。在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
# Python 将打印列表的内部表示,包括方括号
# ['trek', 'cannondale', 'redline', 'specialized']
2.1.1 访问列表元素
列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。请注意索引是从0开始的。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0].title()) # Trek
Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返
回最后一个列表元素。-2等以此类推。
print(bicycles[-1].title()) # Specialized
2.2 修改、添加和删除元素
我们创建的大多数列表都将是动态的,这意味着列表创建后,将随着程序的运行增删元素。
修改:motorcycles[0] = 'ducati' # 指定列表名和要修改的元素的索引,再指定该元素的新值。
添加:motorcycles.append('ducati') # 在列表末尾添加元素
插入:motorcycles.insert(0, 'ducati') # 在列表开始位置插入元素
删除:
基于位置的删除 del 与 pop:
如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句。
如果你要在删除元素后还要通过返回值继续使用它,就使用方法pop()。
del motorcycles[0] # 删除指定位置元素
popped_motorcycle = motorcycles.pop() # 删除列表末尾的元素相当于弹出栈顶元素
popped_motorcycle2 = motorcycles.pop(0) # 删除指定位置元素
基于值的删除 remove:
motorcycles.remove('ducati')
2.3 对列表进行组织
2.3.1 使用方法 sort()对列表进行永久性排序
Python方法sort()让我们对列表进行排序。按字母正序且从大写到小写的顺序。
cars = ['Bmw', 'audi', 'toyota', 'subaru']
cars.sort() # 按字母顺序排序,从大写到小写排序
print(cars) # ['Bmw', 'audi', 'subaru', 'toyota']
反序排序:sort(reverse=True)
cars.sort(reverse=True)
print(cars) # ['toyota', 'subaru', 'audi', 'Bmw']
2.3.2 使用函数 sorted() 对列表进行临时排序
函数 sorted() 让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。同理如果你要按与字母顺序相反的顺序显示列表,也可向函数sorted()传递参数reverse=True。
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(sorted(cars)) # 临时排序: ['audi', 'bmw', 'subaru', 'toyota']
print(cars) # 原列表不变:['bmw', 'audi', 'toyota', 'subaru']
cars2 = sorted(cars, reverse=True) # 可以保存临时排序结果,这里顺便倒序一下
print(cars2) # ['toyota', 'subaru', 'bmw', 'audi']
2.3.3 使用 reverse() 反转列表
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.reverse() # 反转列表
print(cars) # ['subaru', 'toyota', 'audi', 'bmw']
# print(cars.reverse()) # 这样写使错误的
2.3.4 使用 len() 确定列表的长度
cars = ['bmw', 'audi', 'toyota', 'subaru']
car_len = len(cars)