列表
定義:列表是包含有索引的元素集短纵,元素可由字符远舅、數(shù)字闰蛔、字符串及子列表組成,用 list = []表示图柏。
元組
定義: 元組類似列表序六,只是元組定義了以后,包含的元素就不能修改蚤吹,一般使用tuple = (obj,)來表示例诀。且在計(jì)算過程中随抠,元組的處理將比列表要快。
因此繁涂,如果要修改元組拱她,只能通過變量進(jìn)行重新賦值,不能進(jìn)行元素的增刪扔罪,否則會報(bào)錯(cuò)秉沼。
- 異同點(diǎn):
除了與列表類似的處理索引、截取步势、計(jì)算元組個(gè)數(shù)氧猬、最大值、最小值坏瘩、長度盅抚、刪除元組外,
len(tuple)
tuple.count(obj)
max(tuple)
min(tuple)
元組也有自己的函數(shù)倔矾,比如:
1. 列表變元組妄均,大家可以使用type()函數(shù)查看類型:
tuple('DNA')
tuple(['DNA','RNA','AA','peptide'])
2. 元組拼接,比較一下以下兩種不同的方法所獲得元組:
tuple1 = ('DNA'), (['DNA','RNA','AA','peptide'])
tuple2 =('DNA') + (['DNA','RNA','AA','peptide'])
3. 元組拆包
既然元組不能改變哪自,因此可以把里面的值一對一的對應(yīng)不同的變量丰包,這個(gè)過程就稱為拆包。舉個(gè)例子:
tuple = ('DNA','RNA','AA','peptide')
D, R, A, P = ('DNA','RNA','AA','peptide') #完整拆包
D, _, A, P = ('DNA','RNA','AA','peptide') #部分拆包壤巷,_表示忽略對應(yīng)位置元素
D, R, *rest = ('DNA','RNA','AA','peptide') #*rest代表多個(gè)對量邑彪,即省略對應(yīng)位置的元素
D, *_, P = ('DNA','RNA','AA','peptide') #*也可以使用在中間,表示多個(gè)中間變量
備注1:變量的個(gè)數(shù)要與元組中包含的元素?cái)?shù)量一致胧华,不然會有報(bào)錯(cuò)寄症。
ValueError: too many values to unpack (expected 2)
備注2:嵌套元組也是可以對應(yīng)拆包的.
D, R, (A, P) ='DNA','RNA',('AA','peptide')