列表 元组

列表

定义:列表是包含有索引的元素集,元素可由字符、数字、字符串及子列表组成,用 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')

你可能感兴趣的:(列表 元组)