列表 元组
2019-08-16 本文已影响0人
YX_Andrew
列表
定义:列表是包含有索引的元素集,元素可由字符、数字、字符串及子列表组成,用 list = []表示。
元组
定义: 元组类似列表,只是元组定义了以后,包含的元素就不能修改,一般使用tuple = (obj,)来表示。且在计算过程中,元组的处理将比列表要快。
因此,如果要修改元组,只能通过变量进行重新赋值,不能进行元素的增删,否则会报错。
- 异同点:
除了与列表类似的处理索引、截取、计算元组个数、最大值、最小值、长度、删除元组外,
len(tuple)
tuple.count(obj)
max(tuple)
min(tuple)
元组也有自己的函数,比如:
1. 列表变元组,大家可以使用type()函数查看类型:
tuple('DNA')
tuple(['DNA','RNA','AA','peptide'])
2. 元组拼接,比较一下以下两种不同的方法所获得元组:
tuple1 = ('DNA'), (['DNA','RNA','AA','peptide'])
tuple2 =('DNA') + (['DNA','RNA','AA','peptide'])
3. 元组拆包
既然元组不能改变,因此可以把里面的值一对一的对应不同的变量,这个过程就称为拆包。举个例子:
tuple = ('DNA','RNA','AA','peptide')
D, R, A, P = ('DNA','RNA','AA','peptide') #完整拆包
D, _, A, P = ('DNA','RNA','AA','peptide') #部分拆包,_表示忽略对应位置元素
D, R, *rest = ('DNA','RNA','AA','peptide') #*rest代表多个对量,即省略对应位置的元素
D, *_, P = ('DNA','RNA','AA','peptide') #*也可以使用在中间,表示多个中间变量
备注1:变量的个数要与元组中包含的元素数量一致,不然会有报错。
ValueError: too many values to unpack (expected 2)
备注2:嵌套元组也是可以对应拆包的.
D, R, (A, P) ='DNA','RNA',('AA','peptide')