列表
列表让你能在一个地方存储成组的信息,其中可以只包含几个元素,也可以包含数百万个元素。列表是新手可直接使用的最强大的python功能之一,它融合了众多重要的编程概念。
1.1列表是什么
列表 由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母,数字0-9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters,digits或names)是个不错的注意。
在Python中,用方括号([])表示列表,用逗号分隔其中的元素。
1.2访问列表元素
列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉python即可。要访问 列表的元素,可指出列表的名称,在指出元素的索引,并将其放在方括号内。
1.2.1在python中,第一个列表元素的索引为0,而不是1.在大多数编程语言中都是如此,这与列表的底层实现有关。Python为访问最后一个列表元素提供了一种特殊语法,通常将索引指定为-1,可让python返回最后一个列表元素。这种约定也适合其他复数索引,例如-2返回倒数第二个元素。索引-3返回倒数第三个列表元素,以此类推。
1.2.2使用列表中的各个值
可以像使用其他变量一样使用列表中的各个值。例如:可以使用拼接根据列表中的值来创建消息。
1.3修改、添加和删除元素
1.3.1修改列表元素
修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
1.3.2在列表中添加元素
1、在列表末尾添加元素
在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。给列表附加元素时,他将添加到列表末尾。
方法append()将元素添加到列表末尾,而不影响列表中其他所有元素。Append(让动态创建列表易如反掌,例如,可以创建一个空列表,在使用一系列的append()语句添加元素。
2、在列表中插入元素
使用方法insert()可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。
insert()插入时,索引大于列表长度时,插入在列表末尾。
1.3.3从列表中删除元素
可以根据位置或值来删除列表中的元素
-
用delete语句删除元素
如果知道要删除元素在列表中的位置,可用del语句。
使用del语句可删除任何位置处的列表元素,条件是知道其索引。
使用del语句将值从列表中删除后就无法再访问了
2、使用pop()删除元素
有时候,要将元素从列表中删除,并接着使用它的值。方法pop()可删除列表末尾的元素,并让你接着使用它。术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。
方法pop是怎么起作用的呢???????
3、弹出列表中任何位置处的元素
实际上,可以使用pop()来删除列表中任何位置的元素,只需在括号中指定要删除元素的索引即可。
别忘了,每当使用pop()时,被弹出的元素就不再在列表中了。
如果你不确定该使用del语句还是pop()方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何形式使用他,就用del语句;如果在删除元素后还要继续使用它,就用pop()方法。
4、根据值删除元素
有时候,不知道从列表中删除的值所在的位置。如果你只知道要删除的元素的值,可使用方法remove()。
使用remove()从列表中删除元素时,也可接着使用它的值。
注意,方法而move()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
1.4组织列表
在你创建的列表中,元素的排列顺序常常是无法预测的,因为你并非总能控制用户提供数据的顺序。这虽然在大多数情况下都是不可避免的,但你经常需要以特定的顺序呈现信息。有时候,你希望保留列表元素最初的排列顺序,有时候又需要调整排列顺序。Python提供了很多组织列表的方式,可根据具体情况选用。
1.4.1使用方法sort()对列表进行永久性排序。
现在,汽车是按字母排序的,再也无法恢复到原来的排列顺序。
也可以按与字母顺序相反的顺序排列列表元素,为此,只需向sort()方法传递参数reverse = True。同样对列表元素排列顺序的修改是永久性的。
Python方法sort()让你能较为轻松的对列表进行排序。
1.4.2使用函数sorted()对列表进行临时排序
要保留列表元素原来的排序顺序,同时以特定的顺序呈现他们,可使用函数sorted(),函数sorted()让你能够按特定顺序显示列表元素,同时不影响他们在列表中的原始排列顺序。
1.5倒着打印列表
要反转列表元素的排列顺序,可使用方法reverse()。
注意reverse()不是按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序。方法reserve()永久性修改列表元素的排列顺序,但可以随时恢复到原来的排列顺序,为此只需对列表再次调用reverse()即可。
1.6确定列表的长度
使用函数len()可快速获悉列表的长度。
注意:python计算列表元素时从1开始,因此确定列表长时,你应该不会遇到差一错误。
1.7使用列表时避免索引错误
刚开始使用列表时,经常会遇到一种错误。假设你有一个包含三个元素的列表,却要获取第四个元素,这将导致索引错误。
练习:
place = ['Tokyo','New York','Paris','turkey','cheng du']
print(place)
print('use sorted:')
print(sorted(place))
print(place)
print(sorted(place))
place.reverse()
print(place)
place.reverse()
print(place)
place.sort()
print(place)
place.sort(reverse = True)
print(place)