1、列表是什么
1.1列表是由一系列特定顺序的元素组成。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
#Python将打印列表的内部表示,包括方括号。
#输出结果
['trek', 'cannondale', 'redline', 'specialized']
1.2访问列表元素。
索引从0开始而不是1开始。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0].title()]
#输出结果:
Trek
其中-1表示最后一个元素。-2表示倒数第二个元素,以此类推。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[-1])
print(bicycles[-3])
#输出结果:
specialized
cannondale
2.修改、添加和删除元素
2.1修改列表元素。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)
#输出结果:
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
2.2在列表添加元素。
2.2.1在末尾添加元素:将元素附加(append)到列表,将添加到末尾。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles.append('ducati')
print(motorcycles)
#输出结果
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki', 'ducati']
一种动态地创建列表思路:先创建空列表,再使用一系列函数调用append()来添加元素。
2.2.2在列表中插入元素:使用方法insert()可在列表任何位置添加新元素。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati') #insert(添加空间的位置,添加的值)
print(motorcycles)
#输出结果
['ducati', 'honda', 'yamaha', 'suzuki']
方法insert()在索引0处添加空间,将值存储到这个地方。这种操作将列表中既有地每个元素向右移一个位置。
2.3从列表中删除元素
2.3.1知道索引位置,直接使用del语句。(永久删除,无法再访问)
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)
#输出结果
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']
2.3.2使用方法pop()删除元素
方法pop()删除列表元素末尾的元素,并让你能够接着使用它。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycles = motorcycles.pop()
print(motorcycles)
print(popped_motorcycles)
#输出结果
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki
pop也可以在索引处将元素弹出。
motorcycles = ['honda', 'yamaha', 'suzuki']
first_owned = motorcycles.pop(0)
print(motorcycles)
print(first_owned)
#输出结果
['yamaha', 'suzuki']
honda
注意:如果你要删除一个元素,且不再使用它,用del语句;如果你还希望继续使用它,就用方法pop()。
2.3.3根据值来删除元素
有时候,你不知道需要删除元素的位置,但是知道要删除的值,可以使用方法remove()。但是remove只能删除第一个值,如果该值出现多次,则需要循环删除。
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
motorcycles.remove('ducati')
print(motorcycles)
#输出结果
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
remove()的应用:
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
too_expensive = 'ducati'
motorcycles.remove(too_expensive)
print(motorcycles)
print(f"\nA {too_expensive.title()} is too expensive for me.")
#输出结果
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
A Ducati is too expensive for me.
3、组织列表
3.1使用方法sort()对列表永久排序。
直接使用,列表按字母顺序排列。
向sort()传递参数 reverse=Ture则按字母反序排列。
cars = ['bmw', 'auti', 'toyota', 'subaru']
cars.sort()
print(cars)
cars.sort(reverse=True)
print(cars)
#输出结果
['auti', 'bmw', 'subaru', 'toyota']
['toyota', 'subaru', 'bmw', 'auti']
3.2使用函数sorted()对列表临时排序。
直接使用,列表按字母顺序排列。
向sort()传递参数 reverse=Ture则按字母反序排列。
cars = ['bmw', 'auti', 'toyota', 'subaru']
print(cars)
print(sorted(cars))
print(cars)
#输出结果
['bmw', 'auti', 'toyota', 'subaru']
['auti', 'bmw', 'subaru', 'toyota']
['bmw', 'auti', 'toyota', 'subaru']
3.3倒着打印列表
使用方法reverse()。
cars = ['bmw', 'auti', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)
#输出结果
['bmw', 'auti', 'toyota', 'subaru']
['subaru', 'toyota', 'auti', 'bmw']
3.4使用函数len来确定列表长度
cars = ['bmw', 'auti', 'toyota', 'subaru']
print(len(cars))
#输出结果
4
4、使用列表时避免索引错误
访问最后一个元素可以索引-1,倒数第二个可以索引-2,以此类推。切记不要越界!!!