列表和元组
列表、元组操作
列表和元组可以包含多个值,这样编写程序来处理⼤量数据就变得更容易。
定义列表
列表是python中的基础数据类型之一,列表⽤左⽅括号开始,右⽅括号结束,即[]。列表中的值也称为“表项”。表项⽤逗号分隔(就是说,它们是“逗号分隔的”)。
list = ['cat','dog','food','eat']
用列表的下标取值
列表中第⼀个值的下标是0,第⼆个值的下标是 1,第三个值的下标是2,依此类推。
虽然下标从0开始并向上增长,但也可以⽤负整数作为下标。整数值 −1指的是列表中的最后⼀个下标,−2指的是列表中倒数第⼆个下标,以此类推。
注意:如果使⽤的下标超出了列表中值的个数,Python将给出IndexError出错 信息。
>>>list[0] 'cat' >>>list[3] 'eat'
>>>list[-1]
'eat'
list[-2]
'food'
利用切片取得子列表
就像下标可以从列表中取得单个值⼀样,“切⽚”可以从列表中取得多 个值,结果是⼀个新列表。
在⼀个切⽚中,第⼀个整数是切⽚开始处的下标。第⼆个整数是切⽚ 结束处的下标。切⽚向上增长,直⾄第⼆个下标的值,但不包括它。
list[2]是⼀个列表和下标(⼀个字符串)'food' list[0:2]是⼀个列表和切⽚(两个字符串)['cat','dog']
作为快捷⽅法,你可以省略切⽚中冒号两边的⼀个下标或两个下标。 省略第⼀个下标相当于使⽤0,或列表的开始。省略第⼆个下标相当于使⽤ 列表的长度,意味着分⽚直⾄列表的末尾。
>>>list[:2] ['cat','dog'] >>>list[1:] ['dog','food','eat']
用下标改变列表中的值
list['cat','dog','food','eat']
>>>list[2] = 'bigbiglove'
>>>list
['cat','dog','food','bigbiglove']
适用于列表的操作
删除
del可以删除一个列表或一个变量
pop()方法可以按索引删,默认删除最后一个,有返回值
remove()方法可以按元素删除(只要你记得该列表里面有何元素),有返回值
clear()方法删除整个列表
list['cat','dog','food','eat'] >>>del list[2] list['cat','dog','eat'] >>>list.pop(2) list['cat','dog','eat'] >>>list.remove('food') list['cat','dog','eat'] >>>list.clear() list[]
添加
append()方法添加到最后
insert()方法在索引之前插入元素
list['cat','dog','food','eat'] >>>list.append('China') list['cat','dog','food','eat','China'] >>>list.insert(1,'China') list['cat','China','dog','food','eat']
查找
这是最简洁且节省空间的代码
for i in list: print(i)
排序
从小到大排序
li=[0,1,2,6,5] #从小到大排序 >>>li.sort() [0,1,2,5,6] #从大到小排序 li.sort(reverse=True) [6,5,2,1,0] #补充反转 li.reverse() print(li)-->[5,6,2,1,0]
len()方法
用于计算列表中元素的个数
list = ('cat','dog','food','eat') >>>len(list) 4
index方法
很多时候我们需要在列表中查找某个元素并输出对应的索引值
index() 函数用于从列表中找出某个值第一个匹配项的索引位置
list.index(obj) #obj —— 要查找的对象。 返回值: 该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。
extend()方法
通过添加可迭代的元素来扩展列表。(逐个添加)
list['cat','dog','food','eat'] list.extend('abcd') ['cat','dog','food','eat','a','b','c']
其他
li=["我","和","中"] li[0:1]="中国123" li = ["中","国","1","2","3","和","中"] >>>li[0:1]="中国","123" li = ["中国","123","和","中"]
定义元组
元组用圆括号而不是方括号标识,元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表
它只有3个方法,len,count和index.
list = ('cat','dog','food','eat','cat','cat') >>>len(list) 4 >>>list.count('cat') 3 >>>list.index('cat') 0
用list()和tuple()函数来转换类型
正如str(42)将返回'42',即整数42的字符串表⽰形式,函数list()和 tuple()将返回传递给它们的值的列表和元组版本。
>>> tuple(['cat', 'dog', 5]) ('cat', 'dog', 5) >>> list(('cat', 'dog', 5)) ['cat', 'dog', 5]