從零開始學Python-Day9-集合list和元組tuple

2020-12-11 木人張大大

list

list是有序的集合,可隨時添加刪除元素。用中括號[]圈起來,例如

在這裡,花名冊是一個變量,就是一個有序的list,索引排序的位置是從[0]開始,依次往後,len()函數可以統計list中元素個數:

索引的位置超出了列表的元素總數的話就會報錯indexerror,最後一個元素的索引位置可以記為

索引序列還可以倒序排列,最後一個元素的位置是,依次往前數就是

同樣,超出索引範圍報錯indexerror,

追加與刪除

前面說了,list是個隨時可以添加刪除元素的有序序列

追加到末尾 append追加到指定位置 insert刪除末尾元素 pop刪除指定位置元素 pop替換指定位置元素直接向指定索引位置賦值

效果如下:

list內部的元素可以是不同數據類型,一個list也可以作為另一個list的元素,如下,Q這個list裡既有字符串,又有數值,又有布爾值;我們把之前的花名冊這個序列添加到Q的末尾,最終的Q序列裡面就有了四個元素,最後一個元素是另一個list序列花名冊,話有點繞,但還算好理解:

如果在Q中要取到木人張該如何操作?可以用表示,所以Q其實就是一個二維數組。

如果一個list為空,即裡面沒有元素,那麼他的長度也就len應該等於0

tuple

tuple叫做元組,它跟list最大的區別就是一旦初始化就不允許再變化,所謂初始化就是給它賦值。注意這裡跟list的區別,元組tuple的內容是以()括起來的,list是用[]

因為是不可變化的,自然就沒有辦法增加、刪除、替換元素了。元組內元素的定位跟list一樣,用[]擴住的序號表示,從第一位開始0,1,2….

tuple的不可變性強調了數據的安全性,對於不需要用戶交互變化的量,最好用tuple,能不用list就不用。

空tuple和1個元素的tuple

如果需要定義一個空的tuple,可以寫作()

如果是定義只有一個元素的的tuple,需要在單獨元素的後面加一個逗號, 否則就變成了給花名冊這個變量單獨賦值,因為這裡()等同於數學裡的小括號,Python規定這種情況下按數學的小括號計算,那麼這裡就變成了賦值的作用。

換成數字更容易理解,如下,我們給t這個變量賦值為2020,和我們給t這個元組賦值為只有一個2020數值的序列,如下。可以看到當我們輸出單一一個元素的元組時,Python也給我們在它後面加上了逗號,以避免與數學上的()混淆:

「可變的」tuple

可以看出,初始化的時候元組t包含了三個元素:a、b和一個list [『A』, 『B』]

當對t[2][0]和t[2][1]重新賦值後,看似元組t的內容發生了變化,但事實上,作為元組t,它的元素依然是a、b和最初的那個list,只不過list作為一個容器,裡面的內容發生了變化,而元組本身的內容並沒有變化。

這可以幫助我們理解什麼是tuple元組的「不變」其實說的是,但當一個元素指向的對象是一個list,這個list是可變的。

相關焦點

  • Python的List與Tuple
    列表可以完成大多數集合類的數據結構實現。列表中元素的類型可以不相同,它支持數字,字符串甚至可以包含列表(所謂嵌套)。列表是寫在方括號([])之間、用逗號分隔開的元素列表。和字符串一樣,列表同樣可以被索引和截取,列表被截取後返回一個包含所需元素的新列表。
  • Python基礎篇——關於元組(tuple)和列表(list)區別
    一、前言在Python數據類型中有兩個對象:元組 tuple 和列表 list 。二者寫法和用法十分相似,有的同學就會去網上查找它們之間的區別,查到的無非以下幾種說法:list 是可變的,元組 tuple 是不可變的。由於 tuple 不可變,所以使用 tuple 可以使代碼更安全。等等 ...
  • 元組(tuple)-Python基本數據類型之四
    在python中,元組這種數據結構同列表類似,都可以描述一組數據的集合,它們都是容器,是一系列組合的對象,不同的地方在於,元組裡的元素是不能更改的,它們之間的差異性我們用一個例子來說明一下:列表:,而元組一般用於描述一個東西的特性,例如上面的例子,描述了一個學生的學號、姓名、出生年月、年齡和身高,下面我們具體來學習元組這種數據類型;聲明使用小括號對元組進行聲明
  • 11-python中的元組
    通過前兩天的文章10-python中的字典我們學習了有關字典的知識,今天我們將學習一下python中的元組。(一)元組介紹    元組(),是python內置的數據結構之一,是一個不可變序列。49248984(二)元組創建方式    元組創建可以通過以下三種方式:t = ('小潭', '學', 'python', 666)t = tuple( ('小潭', '學', 'python', 666) )
  • Python數據類型之元組tuple
    # 元組(tuple)是 Python 中另一個重要的序列結構,和列表類似,元組也是由一系列按特定順序排序的元素組成。
  • 一分鐘學Python|Python的列表和元組
    list和tuple首先來一波簡單粗暴的對比:1、python中的列表list是變量,而元組tuple是常量。簡單地說元組是固定不可改變的,意味著一旦被創建它的內容無法被修改;列表則不同,被創建可根據自己的想法隨意改變,同時改變列表的函數方法也有很多。
  • 數據類型介紹——tuple、list和range對象
    由此我們可以對列表進行訪問:In [7]: list_3=['爬','蟲','俱','樂','部'] In [8]: list_3[0] Out[8]: '爬'In [9]: list_3[-1] Out[9]: '部'若要訪問多個元素,可以對列表進行切片——list[a:b],其中a為起始元素的索引,b為終止元素的索引
  • 2.1 Python基礎知識(List和Tuple)
    一、List類型1.python創建List說明:Python內置的一種數據類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素。構造list非常簡單,按照上面的代碼,直接用 [ ] 把list的所有元素都括起來,就是一個list對象。由於Python是動態語言,所以list中包含的元素並不要求都必須是同一種數據類型。
  • Python入門14-元組tuple
    另一種有序列表叫元組(tuple)。tuple和list非常類似,但是tuple一旦初始化就不能修改。
  • Python學習筆記:列表、元組和字典
    第3章 列表、元組和字典python內置的三種常見數據結構:列表(list)、元組(tuple)和字典(dict)。這三種數據結構都可用於保存多個數據項。列表和元組比較相似,它們都按順序保存元素,每個元素都有自己的索引,因此列表和元組都可通過索引訪問元素。二者的區別在於列表是可修改的,元組不可修改。字典則以key-value的形式保存數據。
  • 10個掌握Python列表,集合,元組的示例
    每個對象都有自己的數據屬性和與之關聯的方法。為了有效和恰當地使用一個對象,我們應該知道如何與它們進行交互。列表、元組和集合是3種重要的對象類型。它們的共同點是,它們被用作數據結構。本文中,我們將看到這些結構如何收集和存儲數據以及我們可以對它們進行的操作。並看到它們之間的異同。讓我們首先簡要解釋一下這些對象是什麼。然後對每個示例進行詳細說明。
  • Python的list、元組、字典、字符串常用方法操作
    list是一種有序的集合,可以隨時添加和刪除其中的元素。列表中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。列表中的數據項用逗號分隔,用方括號括起來。列表裡面可以再套列表,一個裡面套一個列表,叫二維數組;一個裡面套一個列表,裡面的列表再套一個列表,這個叫三維數組,套幾層就是幾維。
  • python3.6中數據類型之list和tuple的比較
    list使用中括號,有序,可修改其中的數值tuple使用小括號,有序,不可修改其中的數值我們分別定義一個list,一個tuple.list = [10,8.9,"first milk_tea of autumn",1-2j]tuple=(10,8.9,"first milk_tea of autumn",1-2j)我們可以看出,每個裡面都放了四個數據,分別是整型10,浮點型8.9,字符串型first milk_tea of autumn,複數 1-2j我們如何存取。
  • Python——list列表和tuple元組
    list列表是Python內置的一種數據類型。list是一種有序的集合,可以隨時添加和刪除其中的元素。用len()函數可以獲得list元素的個數:運行結果如下:用索引可以來訪問list中每一個位置的元素,記得索引是從0開始的:print(classmates[0])print(classmates[1])print(classmates
  • Python基礎全套教程 8:Tuple元組學習(小白必看,系統學)
    重複3 in (1, 2, 3)True元素是否存在於元組中for x in (1, 2, 3): print(x, end=" ")1 2 3迭代 元組索引,截取:因為元組也是一個序列,所以我們可以訪問元組中的指定位置的元素,也可以截取索引中的一段元素如下所示:L=('Google', 'Python', 'Taobao')Python表達式 結果描述L[2]'Taobao
  • 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基礎】Python的元組,沒想像的那麼簡單
    Python的元組與列表類似,元組一旦創建,元組中的數據一旦確立就不能改變,不能對元組中中的元素進行增刪改操作,因此元組沒有增加元素append、更新元素update、彈出元素pop等相關方法,只有簡單的索引和計數的方法。
  • python編程入門八:列表、元組、字符串的轉換及補充方法
    所以python中也可以輕易的實現三種類型之間的轉換,當然本篇文章還會補充和它們相關的一些方法。8.2 轉換為元組方法–tuple()上面我們講了講「可迭代對象」轉換為列表的方法–list(),那這裡轉換為元組的方法其實也大相逕庭,我們也肯定知道定義一個空元組的方式:結果:所以同樣可以使用tuple()來將一個「字符串」轉換為元組:a =
  • 一文看懂Python列表、元組和字符串操作
    列表由一系列元素組成,所有的元組被包含在一對方括號中。列表被創建將後,可以執行添加、刪除、修改操作。列表中可包含任意的Python數據信息,如字符串、數字、列表、元組等。1.1 列表介紹列表是有序集合,沒有固定大小,能夠保存任意數量任意類型的 Python 對象,語法為 [元素1, 元素2, ..., 元素n]。
  • Python容器:列表與元組
    與字符串不同的是,元組和列表並不要求所有元素的種類相同,每個元素都可以是任何python類型的對象。列表可變,賦值後可插入或刪除其中的元素。元組不可變,賦值後不可更改。1.2使用list()將其他數據類型轉換成列表將一個字符串轉換成了由單個字母組成的列表>>>list('cat')['c','a','t']將一個元組轉換成了列表>>>a_tuple=('ready','fire','aim')>>>list(a_tuple