Ⅰ python中集合和字典的區別
在 Python3.7+以後字典都被確定為有序,而集合是無序的元素集。
集合和字典基本相同,唯一的區別是集合沒有鍵和值的配對,是一系列無序的、唯一的元素組合。
Ⅱ python數據類型有哪些
Python基本數據類型一般分為:數字、字元串、列表、元組、字典、集合這六種基本數據類型。
其中數字又包含整型(整型又包括標准整型、長整型(Python2.7及之前版本有))、浮點型、復數類型、布爾型(布爾型就是只有兩個值的整型)、這幾種數字類型。列表、元組、字元串都是序列。
1、數字
數字類型是不可更改的對象。對變數改變數字值就是生成/創建新的對象。Python支持多種數字類型:
整型(標准整型和長整型(Python2.7及之前的有這種類型))、布爾型、雙精度浮點型、十進制浮點型、復數。
2、標准整型
int,標准整型,在大多數32位機器上標准整型取值范圍是-2^31到2^31-1,也就是-2147483648~2147483647,如果在64位機器使用64位編譯器,那麼這個系統的標准整型將是64位。
3、布爾型
bool,從Python2.3開始Python中添加了布爾類型。布爾類型有兩種True和False。對於沒有__nozero__方法的對象默認是True。
對於值為0的數字、空集(空列表、空元組、空字典等)在Python中的布爾類型中都是False。
>>>bool(1)
True
>>>bool('a')
True
>>>bool(0)
False
>>>bool('')
False
4、浮點型
float,每個浮點型佔8個位元組(64位),完全遵守IEEE754號規范(52M/11E/1S),其中52個位用於表示底,11個位用於表示指數(可表示的范圍大約是±10**308.25),剩下的一個位表示符號。這看上去相當完美,然而,實際精度依賴於機器架構和創建Python解釋器的編譯器。
浮點型值通常都有一個小數點和一個可選的後綴e(大寫或小寫,表示科學計數法)。在e和指數之間可以用正(+)或負(-)表示指數的正負(正數的話可以省略符號)。
以上是Python核心編程的對浮點型(雙精度浮點型)的說明。經過Python實測浮點型默認長度是24位元組如果超出這個范圍會自動
5、復數類型
complex,在復數中虛數不能單獨存在,它們總是和一個值為0.0的實數部分一起來構成一個復數。復數由實數部分和虛數部分構成。表示虛數的語法:real+imagj。
實數部分和虛數部分都是浮點型。虛數部分必須有後綴j或J。
Ⅲ 在python中字典和集合是用一對大括定號作為界符字典的每個元素有兩部分組成,是什麼鍵和什麼值
mydict = {} # 字典初始化
mydict['one'] = "This is one"
mydict[2] = "This is two"
mydict[3] = "This is three"
print(mydict) # 輸出完整的字典 {'one': 'This is one', 2: 'This is two', 3: 'This is three'}
print(mydict.keys()) # 輸出所有鍵 ['one', 2, 3]
print(mydict.values()) # 輸出所有值 ['This is one', 'This is two', 'This is three']
Ⅳ Python3的元組,字典,列表,集合有什麼聯系和區別
4個都是python的數據結構。
元組和列表的底層實現是一樣的,本質都是把一堆東西放在一排,區別在於元祖放完後就不能改了。
你把字典理解成我們普通用的字典就可以了,而集合就是把字典的所有value都設置成None。字典和集合的底層實現原理是一樣的,但初學者不必關注這個原理。集合與數學中的集合有相同性質,比如唯一性,對比字典中key的唯一性來理解一下。
比方:你遇到一個沒見過的字,查查看是不是標準的漢字,這就是集合的作用,集合只關注有沒有的問題;如果是標准漢字,你要看看這個字的意思,這就是字典的作用;你現在找來一個漢字,打算組成成語,然後再找幾個字,向第一個漢字左右放,就是列表的作用;一旦發現一個成語,就固定不變了,字和字的排列都不能改,這就是元祖。
Ⅳ Python列表,元組,集合,字典的區別和相互
元組和列表是類似的, 只是元組不可修改內容
注意這里指的是不可修改元組元素的指向, 你可以修改內容指向的內容
>>>lst=[1,2,3]#定義列表
>>>a=(1,2,lst,4)#注意元組a的a[2]是一個列表
>>>a
(1,2,[1,2,3],4)
>>>a[2]=4#試圖修改元組元素的指向,報錯
Traceback(mostrecentcalllast):
File"<pyshell#3>",line1,in<mole>
a[2]=4
TypeError:'tuple'
>>>a[2][0]=0#不修改元組元素的指向的元素,但是修改指向的內容
>>>a
(1,2,[0,2,3],4)
>>>a[2].append(5)#不修改元組元素的指向的元素,但是修改指向的內容
>>>a
(1,2,[0,2,3,5],4)
字典完全區別於列表和元組
因為字典使用hash表來存儲, 所以只有能夠進行hash運算的才能作為鍵值
個人認為, 一般不可變的都能作為鍵, 比如str/tuple/None/function.列表不能作為鍵
最後, 由於字典是hash表演算法{字典查找O(1), 列表遍歷O(n)}, 在數據量巨大的時候, 字典的查找效率出奇的高
Ⅵ python集合的使用怎麼樣的
Python set 集合最常用的操作是向集合中添加、刪除元素,以及集合之間做交集、並集、差集等運算。
向set集合中添加元素
set 集合中添加元素,可以使用 set 類型提供的 add() 方法實現,該方法的語法格式為:
1
setname.add(element)
其中,setname 表示要添加元素的集合,element 表示要添加的元素內容。
需要注意的是,使用 add() 方法添加的元素,只能是數字、字元串、元組或者布爾類型(True 和 False)值,不能添加列表、字典、集合這類可變的數據,否則 Python 解釋器會報 TypeError 錯誤。例如:
1
2
3
4
5
a = {1,2,3}
a.add((1,2))
print(a)
a.add([1,2])
print(a)
運行結果為:
1
2
3
4
5
{(1, 2), 1, 2, 3}
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 4, in
a.add([1,2])
TypeError: unhashable type: 'list'
從set集合中刪除元素
刪除現有 set 集合中的指定元素,可以使用 remove() 方法,該方法的語法格式如下:
1
setname.remove(element)
使用此方法刪除集合中元素,需要注意的是,如果被刪除元素本就不包含在集合中,則此方法會拋出 KeyError 錯誤,例如:
1
2
3
4
5
a = {1,2,3}
a.remove(1)
print(a)
a.remove(1)
print(a)
運行結果為:
1
2
3
4
5
{2, 3}
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 4, in
a.remove(1)
KeyError: 1
Ⅶ Python中list,tuple,dict,set的區別和用法
python 中list,tuple,dict,set是最常用的集合類型。
list列表,相當於一個數組,不過list的長度是自動變化的而且列表元素自由的,不必每個元素都是同一種類型。它的簡潔的定義方式是a=[]。有序組合
tuple也是一個組合。不過tuple在定義好之後就不能再變化。它的簡潔的定義方式是a=1,3也可以是a=(1,3).有序組合。
dict是字典類型。也就是鍵值對類型。鍵名不可以重復,並且不可以變化(字元串就符合這個要求,常用字元串作為鍵名)。它的簡潔的定義方式是a={}.無序組合(意思就是你無法按照添加的順序對他進行遍歷)。
set是set類型(不好翻譯,用的也少)。也是一個無序的組合,元素是互斥的,也就不會出現相同的元素。可以把一個序列轉換成無重復元素的set.無序組合。
Ⅷ python基本結構有哪三種
程序的基本結構
程序由三種基本結構組成:順序結構、分支結構和循環結構。任何程序都由這三種基本結構組合而成。
這些基本結構都有一個入口和一個出口。任何程序都由這三種基本結構組合而成。
順序結構
順序結構是程序按照線性順序依次執行的一種運行方式,其中語句塊1S1和語句塊S2表示一個或一組順序執行的語句。
分支結構
分支結構是程序根據條件判斷結果而選擇不同向前執行路徑的一種運行方式,基礎的分支結構是二分支結構。由二分支結構會組合形成多分支結構。
循環結構
循環結構是程序根據條件判斷結果向後反復執行的一種運行方式,根據循環體觸發條件不同,包括條件循環和遍歷循環結構。
Ⅸ Python里 列表,字典、集合、元祖四個基本結構的特點
1.列表:每個元素數據類型不限,通過索引訪問;
2.字典:鍵值對的形式,鍵唯一,值的數據類型不限;
3.集合:元素不可重復,不能通過索引訪問;
4.元組:與列表同,區別是元素創建就不可修改