列表:一系列按特定顺序排列的元素组成。
python中用([ ])来表示列表,用逗号来分隔其中的元素
创建一个列表如下:
bicycle.py
>>>bicycle=['trek','cannondale','redline','specialized']
>>>print(bicycles)
['trek','cannondale','redline','specialized']
>>>print(bicycle[0].title())
>trek
访问列表元素
请求获取列表元素时,只返还该元素,而不包括方括号和引号:
列表元素的索引是从0开始,而不是从1开始,即bicyle列表的第一个元素为bicycle[0].
修改列表元素
motorcycles.py
>>>motorcycles=['honda','yamaha','suzuki']
>>>print(motorcycles)
['honda','yamaha','suzuki']
>>>motorcycles[0]='ducati'
>>>print(motorcycles)
['ducati','yamaha','suzuki']
在列表中添加元素
>>>motorcycles.append('ducati')
>>>print(motorcycles)
['honda','yamaha','suzuki','ducati']
方法append()将元素’ducati’添加到了列表的末尾,而不影响列表中其它元素。
在列表中插入元素
使用方法insert()可在列表的任何位置添加新元素,需指定新元素的索引和值。
>>>motorcycles=['honda','yamaha','suzuki']
>>>motorcycles.insert(0,'ducati')
>>>print(motorcycles)
['ducati','honda','yamaha','suzuki']
在列表中删除元素
1.使用del语句删除列表元素
>>>motorcycles=['honda','yamaha','suzuki']
>>>print(motorcycles)
['honda','yamaha','suzuki']
>>>del motorcycles[0]
>>>print(motorcycles)
['yamaha','suzuki']
2.使用方法pop()删除元素
方法pop()可删除列表末尾的元素,并让你能够接着使用它的值。术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表的末尾元素相当于弹出栈顶元素。
>>>motorcycles=['honda','yamaha','suzuki']
>>>print(mootorcycles)
['honda','yamaha','suzuki']
>>>popped_motorcycle=motorcycles.pop()
>>>print(motorcycles)
['honda','yamaha']
>>>print(popped_motorcycle)
['suzuki']
2.1弹出列表中的任何位置处元素
用pop()来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。
>>>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.
如果你要从列表中删除一个元素,且不再以任何形式使用它,就用del语句;如果你要在删除元素之后还能继续使用它,就用方法pop().
2.2根据值删除元素
如果不知道删除的值所处的位置,可以使用方法remove()根据元素的值来删除元素。
>>>motorcycles=['honda','yamaha','suzuki','ducati']
>>>print(motorcycles)
['honda','yamaha','suzuki','ducati']
>>>motorcycles.remove('ducati')
>>>print(motorcycles)
['honda','yamaha','suzuki']
!方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
组织列表
在创建的列表中,元素的顺序又是无法预测的,我们并非总能控制用户提供数据的顺序。有时候,你希望保留列表最初元素最初的排列顺序,而有时候又需要排列顺序。Python提供了很多组织排列的方式,可根据具体情况选用。
使用方法sort()对列表进行永久性排序
cars.py
>>>cars=['bwm','audi','toyota','suabru']
>>>cars.sort()
>>>print(cars)
['audi', 'bwm', 'suabru', 'toyota']
方法sort()永久性修改了列表的排列顺序,现在,汽车是按照字母顺序排列的,再也无法恢复到原来的排列顺序。
还可以按与字母顺序相反的顺序排列列表元素,只需向sort()方法传递参数reverse=True。
>>>cars=['bwm','audi','toyota','suabru']
>>>cars.sort(reverse=True)
>>>print(cars)
['toyota', 'suabru', 'bwm', 'audi']
使用方法sorted()对列表进行临时排序
要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。
cars=['bwm','audi','toyota','suabru']
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)
Result:
Here is the original list:
['bwm', 'audi', 'toyota', 'suabru']
Here is the sorted list:
['audi', 'bwm', 'suabru', 'toyota']
Here is the original list again:
['bwm', 'audi', 'toyota', 'suabru']
倒着打印列表
要反转列表元素的排列顺序,可使用方法reserve()。
>>>cars=['bwm', 'audi', 'toyota', 'suabru']
>>>print(cars)
['bwm', 'audi', 'toyota', 'suabru']
>>>cars.reverse()
>>>print(cars)
['suabru', 'toyota', 'audi', 'bwm']
方法reverse()永久性地修改元素列表的顺序,但可能随时恢复到原来的排列顺序,只需对列表再次调用reverse()即可。
确定列表的长度
使用函数len()可快速获悉列表的长度。
>>>cars=['bwm', 'audi', 'toyota', 'suabru']
>>>len(cars)
4