Python的list和tuple

2021-12-26 來日正長
listPython內置的一種數據類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素。比如,列出班裡所有同學的名字,就可以用一個list表示:
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']

變量classmates就是一個list。用len()函數可以獲得list元素的個數:

用索引來訪問list中每一個位置的元素,記得索引是從0開始的:
>>> classmates[0]
'Michael'
>>> classmates[1]
'Bob'
>>> classmates[2]
'Tracy'
>>> classmates[3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

當索引超出了範圍時,Python會報一個IndexError錯誤,所以,要確保索引不要越界,記得最後一個元素的索引是len(classmates) - 1。如果要取最後一個元素,除了計算索引位置外,還可以用-1做索引,直接獲取最後一個元素:
>>> classmates[-1]
'Tracy'

>>> classmates[-2]
'Bob'
>>> classmates[-3]
'Michael'
>>> classmates[-4]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

list是一個可變的有序表,所以,可以往list中追加元素到末尾:
>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']

也可以把元素插入到指定的位置,比如索引號為1的位置:
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']

要刪除指定位置的元素,用pop(i)方法,其中i是索引位置:
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']

要把某個元素替換成別的元素,可以直接賦值給對應的索引位置:
>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']

>>> L = ['Apple', 123, True]

>>> s = ['python', 'java', ['asp', 'php'], 'scheme']
>>> len(s)
4

要注意s只有4個元素,其中s[2]又是一個list。tuple另一種有序列表叫元組:tuple。tuple和list非常類似,但是tuple一旦初始化就不能修改,比如同樣是列出同學的名字:
>>> classmates = ('Michael', 'Bob', 'Tracy')

現在,classmates這個tuple不能變了,它也沒有append(),insert()這樣的方法。其他獲取元素的方法和list是一樣的,你可以正常地使用classmates[0],classmates[-1],但不能賦值成另外的元素。不可變的tuple有什麼意義?因為tuple不可變,所以代碼更安全。如果可能,能用tuple代替list就儘量用tuple。tuple的陷阱:當你定義一個tuple時,在定義的時候,tuple的元素就必須被確定下來,比如:
>>> t = (1, 2)
>>> t
(1, 2)

只有1個元素的tuple定義時必須加一個逗號,,來消除歧義:

Python在顯示只有1個元素的tuple時,也會加一個逗號,,以免你誤解成數學計算意義上的括號。list和tuple都是Python內置的有序集合,一個可變,一個不可變。根據需要來選擇使用它們。而在實際的工作中,使用list的場合會遠遠多於tuple。

相關焦點

  • Python的List與Tuple
    /usr/bin/python3list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]tinylist = [123, 'runoob']print (list) # 輸出完整列表print (list[0]) # 輸出列表第一個元素print (list[
  • 2.1 Python基礎知識(List和Tuple)
    一、List類型1.python創建List說明:Python內置的一種數據類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素。構造list非常簡單,按照上面的代碼,直接用 [ ] 把list的所有元素都括起來,就是一個list對象。由於Python是動態語言,所以list中包含的元素並不要求都必須是同一種數據類型。
  • python3.6中數據類型之list和tuple的比較
    list使用中括號,有序,可修改其中的數值tuple使用小括號,有序,不可修改其中的數值我們分別定義一個list,一個tuple.python在這裡的門門道道還是比較多的。1:下標制比如上面定義的LIST.計算機裡面的標籤是這樣的list =[list[0],list[1],list[2],list[3]]或者list=[list[-4],list[-3],list[-2],list[-1]]比如我們需要完整輸出。
  • 數據類型介紹——tuple、list和range對象
    [14]: for i in list_3:...:     print(i)輸出結果為:2、元組(tuple)(1)定義元組元組使用圓括號「()」與逗號「,」來創建,同樣可以包含任意數據類型,其定義方法主要有以下幾種:In [15]: 1,'python',2.3In [16]: tuple
  • python的數據類型(四):列表List和元組Tuple
    #= 2L1.clear()                #L1 = []註:列表沒有push函數,不要想當然哦。不信?元組可以理解成只讀的列表。不能進行上面幾乎所有操作,除了index和count。只讀屬性有點像字符串。正因為定義後不能修改,元組是定長的。元組的定義用圓括號()而不是方括號[]。例
  • python中列表(list)和元組(tuple)該如何抉擇?有什麼區別?
    列表(list)和元組(tuple
  • 【Python從入門到精通】(六)Python內置的數據類型-列表(list)和元組(tuple)不信你用不到
    其語法格式是listname1+listname2name_list = ['碼農飛哥', '小偉', '小小偉']name_list2 = ['python', 'java']print(name_list + name_list2)輸出結果是:['碼農飛哥', '小偉', '小小偉', 'python', 'java'],可以看出將name_list2
  • Python基礎篇——關於元組(tuple)和列表(list)區別
    一、前言在Python數據類型中有兩個對象:元組 tuple 和列表 list 。二者寫法和用法十分相似,有的同學就會去網上查找它們之間的區別,查到的無非以下幾種說法:list 是可變的,元組 tuple 是不可變的。由於 tuple 不可變,所以使用 tuple 可以使代碼更安全。等等 ...
  • python中namedtuple與OrderedDict 的使用
    今天來講解一下python中的 Namedtuple與OrderedDict 的使用。一、Namedtuple我們都知道,在python的數據結構裡,tuple(元組)表示的是不可變集合。那麼,nametuple就派上了用場:from collections import namedtuplePoint = namedtuple('Point', ['x', 'y'])p = Point(1, 2)p.xp.y如果用坐標和半徑表示一個圓,也可以用nametuple來定義:#namedtuple('名稱', [屬性list]):Circle =
  • 從零開始學Python-Day9-集合list和元組tuple
    如果一個list為空,即裡面沒有元素,那麼他的長度也就len應該等於0tupletuple叫做元組,它跟list最大的區別就是一旦初始化就不允許再變化,所謂初始化就是給它賦值。tuple的不可變性強調了數據的安全性,對於不需要用戶交互變化的量,最好用tuple,能不用list就不用。
  • Python——list列表和tuple元組
    list列表是Python內置的一種數據類型。list是一種有序的集合,可以隨時添加和刪除其中的元素。比如,列出班裡所有同學的名字,就可以用一個list表示:classmates = ['張三', '李四', '王五']print(classmates)運行結果如下:變量classmates就是一個list。
  • Python入門:4000字能把元組tuple講透嗎?
    公眾號:尤而小屋作者:Peter編輯:Peter大家好,我是Peter在前面介紹的python數據類型:列表list,我們發現list是可以進行修改的。>list上面的多個例子都表明:如果創建只有一個元素(任意python類型)的元組,最後一定得帶上括號2.3多個元素通過多個元素組成的元組,元素可以是不同的數據類型
  • Python中列表(list),元組(Tuple),字典(Dict)和集合(Set)的比較
    1.1 元素索引列表、元組的索引都是從起始位置0開始的,甚至可以採用負數,例如:>>> list[0]1>>> list[-1]5>>> list[:-1][1, 2, 3, 4]>>> tuple[-1]5>&
  • Python數據類型之元組tuple
    # 元組(tuple)是 Python 中另一個重要的序列結構,和列表類似,元組也是由一系列按特定順序排序的元素組成。
  • 元組(tuple)-Python基本數據類型之四
    在python中,元組這種數據結構同列表類似,都可以描述一組數據的集合,它們都是容器,是一系列組合的對象,不同的地方在於,元組裡的元素是不能更改的,它們之間的差異性我們用一個例子來說明一下:列表:06",10,135.7)>>> print(student[1]) #輸出 tom從上面的比較例子可以看出,列表一般用於不確定個數的數據的集合中,例如上面,並不知道能找到多少個txt文件,所以用列表來表示,而元組一般用於描述一個東西的特性,例如上面的例子,描述了一個學生的學號、姓名、出生年月、年齡和身高
  • Python數據類型-List介紹(下)-列表推導式
  • Python入門14-元組tuple
    另一種有序列表叫元組(tuple)。tuple和list非常類似,但是tuple一旦初始化就不能修改。
  • 數據容器 tuple
    數據容器 tuple數據容器之tuplelist 定義 list基本概念 tuple是Python中另外最基本的數據結構。序列中的每個元素都分配一個索引index - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
  • Python數據類型-List介紹(上)
    列表(list)作為python最基礎也是最重要的數據類型之一,在python數據分析以及其他用途中有著重要的作用。
  • python學習|tuple數據結構詳解
    tuple,中文名 元組。Python的元組與列表list類似,不同之處在於元組的元素不能修改,而list的元素可以改變。元組使用小括號(),列表使用方括號[]。tuple1 = (1,2)print(tuple1)tuple2=(1,2,"qzq")print(tuple2)# 元組只有一個元素時,需要加一個逗號tuple3=(1,)print(tuple3)# 第1個元素數字