1. 程式人生 > >Python:list列表,tuple元組,set集合,dict字典區別

Python:list列表,tuple元組,set集合,dict字典區別

Python一些內建函式 
1、cmp(A, B):比較可為list、tuple等的A、B,A>B為1,A=B為0,小於為-1 
2、len(obj): 計算元素個數。 
3、max(obj):返回元素最大值。 
4、min(obj):返回元素最小值。 
5、reversed(obj): 對元素進行翻轉 
6、enumerate(obj): 遍歷list的元素,返回序號及其對應的元素 for x,y in list: 
7、zip():打包成tuple(元組),然後返回由這些tuples組成的list(列表)

列表、元組和字串都是序列,字串是字元的序列,列表和元祖是任意型別的序列

列表、元組、集合、字典的區別

list列表

tuple元組

set集合

dict字典

可否讀寫

讀寫

只讀

讀寫

讀寫

可否重複

儲存方式

鍵(不能重複)

鍵值對(鍵不能重複)

是否有序

有序

有序

無序

無序,自動正序

初始化

[1,'a']

('a', 1)

set([1,2]) 或 {1,2}

{'a':1,'b':2}

新增

append

只讀

add

d['key'] = 'value'

讀元素

l[2:]

t[0]

d['a']

一、列表list,用中括號“[ ]”表示

1.任意物件的有序集合 
列表是一組任意型別的值,按照一定順序組合而成的 
2.通過偏移讀取 
組成列表的值叫做元素(Elements)。每一個元素被標識一個索引,第一個索引是0,序列的功能都能實現 
3.可變長度,異構以及任意巢狀

 
列表中的元素可以是任意型別,甚至是列表型別,也就是說列表可以巢狀 
4.可變的序列 
支援索引、切片、合併、刪除等等操作,它們都是在原處進行修改列表 
5.物件引用陣列 
列表可以當成普通的陣列,每當用到引用時,Python總是會將這個引用指向一個物件,所以程式只需處理物件的操作。當把一個物件賦給一個數據結構元素或變數名時,Python總是會儲存物件的引用,而不是物件的一個拷貝

二、元祖tuple,用小括號“( )”表示

1.任意物件的有序集合 
與列表相同 
2.通過偏移存取 
與列表相同 
3.屬於不可變序列型別 
類似於字串,但元組是不可變的,不支援在列表中任何原處修改操作,不支援任何方法呼叫 
4.固定長度、異構、任意巢狀

 
固定長度即元組不可變,在不被拷貝的情況下長度固定,其他同列表 
5.物件引用的陣列 
與列表相似,元祖是物件引用的陣列

list相比 
1.比列表操作速度快 
2.對資料“防寫“ 
3.可用於字串格式化中 
4.可作為字典的key

三、字典dict,用大括號“{key,value}”表示

1.通過鍵而不是偏移量來讀取 
字典就是一個關聯陣列,是一個通過關鍵字索引的物件的集合,使用鍵-值(key-value)進行儲存,查詢速度快
2.任意物件的無序集合 
字典中的項沒有特定順序,以“鍵”為象徵 
3.可變長、異構、任意巢狀 
同列表,巢狀可以包含列表和其他的字典等 
4.屬於可變對映型別 
因為是無序,故不能進行序列操作,但可以在遠處修改,通過鍵對映到值。字典是唯一內建的對映型別(鍵對映到值的物件) 
5.物件引用表 
字典儲存的是物件引用,不是拷貝,和列表一樣。字典的key是不能變的,list不能作為key,字串、元祖、整數等都可以

list比較,dict有以下幾個特點: 
1.查詢和插入的速度極快,不會隨著key的增加而增加 
2.需要佔用大量的記憶體,記憶體浪費多 
list相反: 
1.查詢和插入的時間隨著元素的增加而增加 
2.佔用空間小,浪費記憶體很少 
所以,dict是用空間來換取時間的一種方法

四、集合set,用小括號“( )”表示

1.是一組key的集合,但不儲存value,並且key不能重複 
建立一個set,需要提供一個list作為輸入集合,s = set([1,2,3]),注意,傳入的引數 [1, 2, 3] 是一個list,而顯示的 set([1, 2, 3]) 只是告訴你這個set內部有1,2,3這3個元素,顯示的[ ]不表示這是一個list 
2.重複元素在set中自動被過濾 
set可以看成數學意義上的無序和無重複元素的集合,因此,兩個set可以做數學意義上的交集、並集等操作

還有一種集合是forzenset( ),是凍結的集合,它是不可變的,存在雜湊值,好處是它可以作為字典的key,也可以作為其它集合的元素。缺點是一旦建立便不能更改,沒有add,remove方法

dict對比 
1.set和dict的唯一區別僅在於沒有儲存對應的value 
2.set的原理和dict一樣,同樣不可以放入可變物件,因為無法判斷兩個可變物件是否相等,也就無法保證set內部“不會有重複元素”


相關推薦

Pythonlist列表,tuple,set集合,dict字典區別

Python一些內建函式 1、cmp(A, B):比較可為list、tuple等的A、B,A>B為1,A=B為0,小於為-1 2、len(obj): 計算元素個數。 3、max(obj):返回元素最大值。 4、min(obj):返回元素最小值。 5、reversed(o

list列表 tuple range操作 dict字典 set集合 及相關操作

list列表 1. 什麼是列表 定義: 能裝物件的物件 在python中使用[]來描述列表, 內部元素用逗號隔開. 對資料型別沒有要求 列表存在索引和切片. 和字串是一樣的. 2. 相關的增刪改查操作(重點) 新增:  1. append() 追加  2. insert(位置,

python中對列表集合字典的分析理解

1.列表(List)      (1)列表一般是由 [ ] 表示,建立一個空列表,是任意物件的序列!      (2)在python中的列表跟清單的道理是一樣的,特點就是:可重複,裡面的型別可不同!型別不同是也是列表跟陣列的最本質的區別!     (3)列表的方法:

python基礎,列表集合字典

相信很多小夥伴,初學python的時候對 列表啦,集合,元組,字典不太瞭解(本人其實也是一樣迷糊的),所以今天寫一篇關於列表,集合,元組,字典的部落格 希望大家喜歡! 文章目錄 1 列表 1.1列表的概念 1.2列表的特點 1.3列表的基

【轉】 Python列表集合字典區別和相互轉換

tail 互轉 http pen append color class div 交集 原文鏈接:https://blog.csdn.net/lilongsy/article/details/70895753 列表取交集: a=[1,2,3] b=[2] print(li

python回顧(六)——資料儲存(列表集合字典),切片,通用運算子

列表 列表的概念   列表是一種儲存大量資料的儲存模型     列表的特點   列表具有索引的概念,可以通過索引操作列表中的資料。列表中的資料可以進行新增、刪除、修改、查詢等操作     列表的基本語法   建立列表: 變數名 = [資料1,資料2,

Python基本資料型別(數字、字串、列表集合字典

Python基本資料型別: 數字 字串(‘ ‘ 或 “ “括起來;不可修改;可切片或下標檢索) 列表[ ]  (可修改;可切片或下標檢索) 元組( )  (不可修改;可切片或下標檢索) 集合{ }  (無法修改,只能增刪) 字典{ }  (只能改值,不能改鍵;用鍵

Python 列表集合字典、Json、陣列、矩陣 簡單示例說明

【列表】有序的集合,可隨時新增和刪除其中的元素 【列表】有序的集合,可隨時新增和刪除其中的元素 list = [1,2,3,'A','B','C'] #檢視 list list[5] print(list[5]) #末尾新增 list.append('D') #指定

Python的資料型別3集合字典

首先要講到的就是元組 元組其實擁有列表的一些特性,可以儲存不同型別的值,但在某些方面元組又比不上列表 定義一個元組,你可以不用加‘ [ ] ’,你只需用逗號隔開即可 例如 1

Python入門學習筆記————09(集合字典)

關於元組的函式 以下看程式碼 In [5]:   #len:獲取元組長度1 t = (1,2,3,4,4) len(t) Out[5]: 5 In [6]:   #max,min:最大值,最小值 #如果

python3的列表集合字典操作

python的列表就是陣列和php的Array和java的List一樣 元組相當於java和php的Enum 字典相當於java的Map,php的關聯陣列 python中列表是可變的,這是它區別於字串和元組的最重要的特點,一句話概括即:列表可以修改,而字串和元組不能 以下是

Python中的列表祖,集合字典,字串進行去重、排序、翻轉操作

1.列表的操作 -list進行去重操作有如下幾種方法 v1:使用set方法,簡單有效,但是不能保證list內順序不變 list2 = [1,2,3,3,4,2,1,3,4] list2 = list(set(list2)) v2:使用新的一個空列

數據類型list列表[]、tuple()、dict字典{}

mov 移除 不可變 修改 int print 查詢 [] -type List 列表[] 可變的 lst = [1,2,3,4] #改 lst[(元素下標)] = ‘需要修改的‘ #通過下表修改 lst[下標:下標] = ‘需要修改的‘ #通過

Python 基礎之列表

bcp rtt fcn ott emd lns swe 二維數組 ttf list Python內置的一種數據類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素。 比如,列出班裏所有同學的名字,就可以用一個list表示: >>

零基礎學python-2.7 列表

cells one iss 顯示 不同 元組 jsb lsp ext 事實上,能夠把列表和元組看成普通的數組。可是這個數組能夠存儲不同的數據類型(對象) 列表和元組的差別 列表 元組 使用的符號 [] () 元素數量 可變 不可變 改動元素 不能

python入門學習-列表(1)

索引 個人 .so .cn pytho 入門 main 範圍 mage 數據結構是通過某種方式(例如對元素進行編號)組織在一起的數據元素的集合。這些數據元素可以是數字或者字符,甚至可以是其他數據結構。 在python中,最基本的數據結構是序列(seque

python學習筆記列表(三)

python列表(list)是Python以及其他語言中最常用到的數據結構之一。Python使用使用中括號 [ ] 來解析列表。列表是可變的(mutable)——可以改變列表的內容。對應操作:1、查([]切片操作) name = [‘tom‘,‘張三‘,‘joker‘,‘李四‘] print(name[2])

Python中的列表

() 逗號 包含 添加 是什麽 ear 2.3 元組 不可變 1. 列表(list)   以[]括起來,各元素之間用","進行分隔,可以存放各種數據類型,   1.1 索引和切片     和字符串一樣,列表也是可叠代對象,所以也有索引,可以進行切片     索引也是從0開始

Pythonlist列表

列表 list 列表 list 列表是一種容器 列表是可以被改變的序列容器 建立空列表的字面值 L = [] # L 繫結一個新建立的空列表 建立非空列表的字面值: L = [1, 2, 3, 4] L = ["北京", "上海", "深圳"] L = [1, "二",

Python進階(一)-初識Python資料元素:列表&

分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow 也歡迎轉載我的文章,轉載請註明出處 https://blog.csdn.net/mm2zzyzzp Python進階(一)-初識Python資料元素:列表&