访问列表元素
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0])
索引从0而不是1开始,
Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1 ,可让
Python返回最后一个列表元素:
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[-1])
索引-2 返回倒数第二个列表元素,索引-3 返回倒数第三个列表元素,依此类推。
修改列表元素
修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)
输出
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
在列表中添加元素
在列表末尾添加元素
在列表中添加新元素时,最简单的方式是将元素附加 (append)到列表。给列表附加元素时,它将添加到列表末尾。继续使用前一个示例中的列表,在其末尾添加新元素'ducati' :
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles.append('ducati')
print(motorcycles)
方法append() 将元素'ducati' 添加到列表末尾,而不影响列表中的其他所有元素
在列表中插入元素
使用方法insert() 可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati')
print(motorcycles)
在这个示例中,值'ducati' 被插入到了列表开头。方法insert() 在索引0处添加空间,并将值'ducati' 存储到这个地方。这种操作将列表中既有的每个元素都右移一个位置:
['ducati', 'honda', 'yamaha', 'suzuki']
从列表中删除元素
使用del 语句删除元素
如果知道要删除的元素在列表中的位置,可使用del 语句。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)
使用方法pop() 删除元素
方法pop() 删除列表末尾的元素,并让你能够接着使用它。术语弹出 (pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。
可以使用pop() 来删除列表中任意位置的元素,只需在圆括号中指定要删除元素的索引即可。
motorcycles = ['honda', 'yamaha', 'suzuki']
first_owned = motorcycles.pop(0)
print(f"The first motorcycle I owned was a {first_owned.title()}.")
首先弹出列表中的第一款摩托车,然后打印一条有关这辆摩托车的消息)。输出是一个简单的句子,描述了我购买的第一辆摩托车:
The first motorcycle I owned was a Honda.
每当你使用pop() 时,被弹出的元素就不再在列表中了。如果你不确定该使用del 语句还是pop() 方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del 语句;如果你要在删除元素后还能继续使用它,就使用方法pop() 。
根据值删除元素
有时候,你不知道要从列表中删除的值所处的位置。如果只知道要删除的元素的值,可使用方法remove() 。
例如,假设要从列表motorcycles 中删除值'ducati' 。
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
motorcycles.remove('ducati')
print(motorcycles)
输出:
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
使用remove() 从列表中删除元素时,也可接着使用它的值。
注意:方法remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来确保将每个值都删除。