python基础回顾——列表篇
前言
列表是python中蛮方便也重要的一个基础数据结构,本身也很灵活,当然灵活也是有代价的,不过作为新手更多关注的还是列表本身使用吧。
列表
由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters 、digits 或names )是个不错的主意。
python中表示列表使用[]
,并用逗号来分隔其中的元素。
访问列表内容可以通过下标索引进行访问,下标索引从0开始。
>>> L = [1,'1',2,'2']
>>> L
[1, '1', 2, '2']
>>> L[1]
'1'
>>> L[0]
1
列表操作
修改列表元素值
和变量赋值相同,通过索引获取列表对应元素进行赋值。>>> L[0]=11 >>> L [11, '1', 2, '2']
添加列表元素
在列表末端添加元素,append()
>>> new_L=[] >>> new_L [] >>> new_L.append(1) >>> new_L [1] >>> new_L.append(2) >>> new_L [1, 2]
在列表中间添加元素
使用方法insert() 可在列表的任何位置添加新元素。>>> new_L.insert(0,"1") >>> new_L ['1', 1, 2]
删除列表元素
del语句删除列表任意元素(在知道索引的情况下),使用del 语句将值从列表中删除后,你就无法再访问它了。
>>> new_L ['1', 1, 2] >>> del new_L[0] >>> new_L [1, 2]
pop()方法删除列表元素,该方法删除列表末端的元素,但删除元素时仍可使用该元素,即可将其赋值或其他操作。
>>> new_L [1, 2] >>> pop_temp = new_L.pop() >>> pop_temp 2 >>> new_L [1]
pop()也可指定列表中的对应元素进行删除操作,加入参数表示元素索引下标即可。
>>> new_L [1, 2, 3] >>> new_L.pop(1) 2
如果你不确定该使用del 语句还是pop() 方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del 语句;如果你要在删除元素后还能继续使用它,就使用方法pop() 。
remove()方法,不知道要从列表中删除的值所处的位置,只知道要删除的元素的值,可使用方法remove()。
根据列表中元素值进行删除元素,和pop()方法相同,在删除的同时可以使用其对应值,可参照pop()方法介绍。>>> new_L [1, '2', 3] >>> new_L.remove('2') >>> new_L [1, 3]
注意 方法remove() 只删除第一个指定的值。因为列表允许多个相同值存储,如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
列表排序
前面介绍列表时说到它是按照特定顺序排列元素的,但是列表不是不可改变的,也就是顺序的特定性也是分不同情况的,如果没有改变那列表就是按照输入的顺序进行存储表示,如果有顺序需求也可以对其进行排序操作。永久性排序,sort(),按照元素值首字母顺序进行排序,永久性地修改了列表元素的排列顺序,再也无法恢复到原来的排列顺序。
>>> temp_list = ['zemp','temp','lamp','amp'] >>> temp_list ['zemp', 'temp', 'lamp', 'amp'] >>> temp_list.sort() >>> temp_list ['amp', 'lamp', 'temp', 'zemp']
反向永久性排序,在使用sort()方法时加入参数reverse=True。
>>> temp_list.sort(reverse=True) >>> temp_list ['zemp', 'temp', 'lamp', 'amp']
临时排序,不改变列表原先的排列顺序,也可以进行反序排列使用参数reverse。
>>> sorted(temp_list) ['amp', 'lamp', 'temp', 'zemp'] >>> temp_list ['zemp', 'temp', 'lamp', 'amp'] >>>temp_list.sort() >>> sorted(temp_list,reverse=True) ['zemp', 'temp', 'lamp', 'amp'] >>> temp_list ['amp', 'lamp', 'temp', 'zemp']
反向排序,不使用参数,可直接使用reverse()方法,进行永久反向排序,将原先列表的元素顺序进行反传排列,如果需要恢复为原先的顺序再次使用reverse()方法即可。
>>> temp_list ['amp', 'lamp', 'temp', 'zemp'] >>> temp_list.reverse() >>> temp_list ['zemp', 'temp', 'lamp', 'amp'] >>> temp_list.reverse() >>> temp_list ['amp', 'lamp', 'temp', 'zemp']
列表长度计算
使用len()方法进行获取列表的长度,即列表元素个数。>>> temp_list ['amp', 'lamp', 'temp', 'zemp'] >>> len(temp_list) 4
小结
列表的基本知识初略写了一下,包括列表的初始化、添加、修改和删除操作,对几种有所差异的方法进行了对比和示例,当作一起回顾吧,之后回顾到字典的时候我可能会联系一下,毕竟我刚学的时候就习惯列表总是忽略字典,而且不少方法的使用其实相似。共勉。
附录资料
python编程入门