列表
列表是由一系列特定排列的元素组成,可以创建包含字母表中所有字母,数字0-9等等;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。
在python中,使用方括号([])来表示列表,并用逗号分隔其中的元素。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycle)
>>{'trek', 'cannondale', 'redline', 'specialized'}
访问列表元素
列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,放将其放在括号中。在python中,第一个列表的元素的索引是0。python为访问最后一个列表元素提供了一种特殊的语法,通过将索引指定为-1,可返回最后一个列表元素;索引-2返回倒数第二个列表元素,以此类推。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycle[0])
>>trek
修改、添加和删除元素
修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)
>>['honda', 'yamaha', 'suzuki']
>>['ducati', 'yamaha', 'suzuki']
在列表中添加新元素,最简单的方式是将元素附加到列表末尾。给列表添加元素时,它将添加代列表末尾。使用append()方法将元素添加到列表末尾。同时可以使用insert()方法可在列表的任何位置添加新元素,只需指定新元素的索引和值。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.append('ducati')
print(motorcycles)
>>['honda', 'yamaha', 'suzuki', 'ducati']
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(1, 'ducati')
print(motorcycles)
>>['honda', 'ducati', 'yamaha', 'suzuki']
如果知道要删除的元素在列表中的位置,可使用del语句。方法pop()可删除列表末尾的元素,并能够接着使用它。这类似于列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。同时也可以使用pop()方法来删除列表中的任何位置的元素,只需在括号中指定要删除的元素的索引即可。方法remove()可以删除列表中指定元素的值,也可以在删除完后接着使用这个元素。
motorcycles = ['honda', 'yamaha', 'suzuki']
del motorcycles[0]
print(motorcycles)
>>['yamaha', 'suzuki']
motorcycles = ['honda', 'yamaha', 'suzuki']
popped_motorcycle = motorcycles.pop()
print(popped_motorcycle)
>>suzuki
motorcycles = ['honda', 'yamaha', 'suzuki']
first_owned = motorcycles.pop(0)
print('The first motorcycle I owned was a ' + first_owned.title() + '.')
>>The first motorcycle I owned was a Honda.
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
motorcycles.remove('ducati')
print(motorcycles)
>>['honda', 'yamaha', 'suzuki']
组织列表
sort()方法可以对列表进行永久性排序,在方法中传递参数reverse=True可使按字母顺序相反的顺序排序列表元素。sorted()方法可以对列表进行临时排序。
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']
cars = ['bmw', 'audi', 'toyota', 'subaru']
print("Here is the original list:")
print(cars)
print("\nHere is the sorted list:")
print(sorted(cars))
print("\nHere is the original list again:")
print(cars)
>>Here is the original list:
['bmw', 'audi', 'toyota', 'subaru']
Here is the sorted list:
['audi', 'bmw', 'subaru', 'toyota']
Here is the original list again:
['bmw', 'audi', 'toyota', 'subaru']
reverse()方法可以反转列表元素的排序顺序。注意,reverse() 不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序:
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)
>>['bmw', 'audi', 'toyota', 'subaru']
['subaru', 'toyota', 'audi', 'bmw']
len()方法可快速确定列表的长度。
cars = ['bmw', 'audi', 'toyota', 'subaru']
len(cars)
>>4