Python基础 - 列表
Python基础 – 列表
列表定义
bicycles = ['trek', 'cannondale', 'redline', 'specialized'] |
列表访问
print(bicycles[0]) |
在不确定列表的长度时,访问最后一个元素
print(bicycles[-1]) |
同理,这种约定也适用于其他负数索引,例如,索引 -2 返回倒数第二个列表元素,索引 -3 返回倒数第三个元素
添加元素
在列表末尾添加元素
motorcycles = ['honda', 'yamaha', 'suzuki'] |
在列表中插入元素
使用方法insert()
可以在列表的任何位置添加新元素。为此,你需要制定新元素的索引和值
motorcycles.insert(0, 'ducati') |
如果需要将元素添加到末尾,可以使用下标-1
motorcycles = ['honda', 'yamaha', 'suzuki'] |
删除元素
使用del语句删除元素
如果知道要删除的元素在列表中的位置,可以使用del
语句。
del motorcycles[1] |
使用方法pop()删除元素
有时候,你要将元素从列表中删除,并接着使用它的值。
popped_motorcycle = motorcycles.pop() |
默认情况下,pop()
会取出列表中的最后一个
如果想要取出指定位置的元素
popped_motorcycle = motorcycles.pop(2) |
别忘了,每当你使用pop()时,被弹出的元素就不再在列表中了。
如果你不确定该使用del语句还是pop()方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop()。
根据值删除元素
有时候,你不知道要从列表中删除的值所处的位置。如果只知道要删除的元素的值,可使用方法remove()。
motorcycles = ['honda', 'yamaha', 'suzuki'] |
同样,使用remove()
从列表中删除元素时,也可以接着使用它的值。
注意 方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来确保将每个值都删除
组织列表
使用方法sort()对列表永久排序
cars: list[str] = ['bmw', 'audi', 'toyota', 'subaru'] |
还可以按照字母顺序降序排列列表元素,只需要向sort()方法传递参数reverse = True
即可。
cars.sort(reverse=True) |
使用函数sorted()对列表临时排序
要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。函数sorted()让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。
cars: list[str] = ['bmw', 'audi', 'toyota', 'subaru'] |
可以看到,原来列表的顺序并没有发生变化。如果要按与字母顺序相反的顺序显示列表,也可以向函数sorted()传递参数reverse = True
。
sorted(cars, reverse=True) |
注意 注意 在并非所有的值都是小写时,按字母顺序排列列表要复杂些。决定排列顺序时,有多种解读大写字母的方式,要指定准确的排列顺序,可能比我们这里所做的要复杂。
倒着打印列表
cars.reverse() |
方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,只需对列表再次调用reverse()即可。
确定列表的长度
使用函数len()可快速获悉列表的长度。
print(len(cars)) |
使用列表时避免索引错误
注意 发生索引错误却找不到解决办法时,请尝试将列表或其长度打印出来。列表可能与你以为的截然不同,在程序对其进行了动态处理时尤其如此。通过查看列表或其包含的元素数,可帮助你找出这种逻辑错误。