Python序列之list和tuple常用方法以及注意事項

來源:互聯網
上載者:User
sequence 序列

sequence(序列)是一組有順序的對象的集合。序列可以包含一個或多個元素,也可以沒有任何元素。

我們之前所說的基礎資料型別 (Elementary Data Type),都可以作為序列的對象。對象還可以是另一個序列。序列有兩種:list (表) 和 tuple(元組) 。
list和tuple的主要區別在於,一旦建立,tuple的各個元素不可再變更,而list的各個元素可以再變更。

List

獲得list元素的個數:

代碼如下:


>>> lst=['更新慢','python',5.44,False]
>>> len(lst)
4

引用訪問時索引是從0開始,注意不要越界:

代碼如下:


>>> lst[0]
'更新慢'
>>> lst[1]
'python'
>>> lst[2]
5.44
>>> lst[3]
False
>>> lst[4]
Traceback (most recent call last):
File "", line 1, in
lst[4]
IndexError: list index out of range

用-1做索引,直接擷取最後一個元素:

代碼如下:


>>> lst[-1]
False
>>> lst[-2]
5.44
>>> lst[-3]
'python'
>>> lst[-4]
'更新慢'
>>> lst[-5]
Traceback (most recent call last):
File "", line 1, in
lst[-5]
IndexError: list index out of range

因為list是一個可變的有序表,所以,可以往list末尾追加元素:

代碼如下:


>>> lst.append('加我一個')
>>> lst
['更新慢', 'python', 5.44, False, '加我一個']

一次追加多個元素:

代碼如下:


>>> lst.extend(['A','B','C'])
>>> lst
['更新慢', 'python', 5.44, False, '加我一個', 'A', 'B', 'C']

要刪除list末尾的元素,用pop()方法:

代碼如下:


>>> lst.pop()
'C'
>>> lst
['更新慢', 'python', 5.44, False, '加我一個', 'A', 'B']

刪除指定位置的元素,用pop(i)方法,其中i是索引位置:

代碼如下:


>>> lst.pop(0)
'更新慢'
>>> lst
['python', 5.44, False, '加我一個', 'A']

list元素替換,可以直接賦值給對應的索引位置:

代碼如下:


>>> lst[-1]='100'
>>> lst
['python', 5.44, False, '加我一個', '100']

list元素也可以是另一個list,插入的那個list只算一個元素:

代碼如下:


>>> lst.append(lst1)
>>> lst
['python', 5.44, False, '加我一個', '100', ['666', 'QWER']]
>>> len(lst)
6

Tuple

Tuple一旦初始化就不能修改。字串是一種特殊的元素,因此可以執行元組的相關操作。

代碼如下:


>>> str='該睡覺了,晚安!'
>>> print (str[:7])
該睡覺了,晚安

不可變的tuple意義就在於因為不可變,所以代碼更安全。如果可能,能用tuple就盡量用tuple。

代碼如下:


>>> tuple=('1','2','3')
>>> tuple[0]=6
Traceback (most recent call last):
File "", line 1, in
tuple[0]=6
TypeError: 'tuple' object does not support item assignment

定義一個空tuple:

代碼如下:


>>> tuple1=()
>>> tuple1
()


注意,要定義一個只有1個元素的tuple:

代碼如下:


>>> tuple2=(666,)
>>> tuple2
(666,) #正確的
>>> tuple3=(666)
>>> tuple3
666 #錯誤的,只定義了666這個數

注意:Tuple所謂的“不變”是說,tuple的每個元素,指向永遠不變。

代碼如下:


>>> l=['CCTV-5','HI']
>>> tuple4=('UFO','HACK',l)
>>> tuple4
('UFO', 'HACK', ['CCTV-5', 'HI'])
>>> l[1]='我先變一下'
>>> tuple4
('UFO', 'HACK', ['CCTV-5', '我先變一下'])

所以盡量避免這種套用。

當日小結

掌握List和Tuple的常用方法以及注意事項。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.