字典,元組,列表,集合的區別
列表 和字典的一點區別
列表:隨著插入的增加,訪問速度變慢;佔用記憶體少
字典:插入資料增加,訪問速度不變;但佔用記憶體多(消耗記憶體換時間)
列表,字串,元組:可通過切片訪問,因為都有下標
集合,字典:沒有下標,無法通過下標訪問
------------------------元組(tuple)和列表(list)的不同----------------------------------
列表(list)和元組(tuple)的不同
列表 元組
元素 方括號 圓括號
可變性 可變 不可變
操作 增刪改查 搜尋
為什麼要有元組:1、安全(資料不可改)2、查詢速度快(因為不能修改,所以不必檢索)
1、列表可以隨意插入刪除元素,而元組不能隨意插入或刪除元素,也不能排序。
2、建立列表用中括號[],元組是用小括號()和逗號,。list1=[1,2] tuple= (2,3)
l=[] ##建立列表只要有中括號就能建立。
t=(1) ##這裡t是整型型別
t=(1,) ##逗號和小括號配合,此時t是元組型別
t= 1,3,4,5 ##用逗號隔開,此時t也是元組型別
3*(2) 結果為:6
3*(2,) 結果為:2,2,2
--------------------------------------集合和列表--------------------------------------------
列表可以儲存相同的資料,而集合會將相同的資料合併。
例:
>>> num=[1, 2, 3, 3, 5, 6]
>>> type(num)
<class 'list'>
>>> set(num) ##set排序是無序的。
{1, 2, 3, 5, 6}
--------------------------------下標訪問(一些通用操作符)---------------------------------------
能通過下標訪問的叫序列類包括:字串,列表,元組
列表:l=[1,3,4] l[0]為:1
元組:t=(1,2,3) t[0]為:1
字串:str1='sfsfs' str1[0]為:s
無法通過下標訪問的叫對映類:包括字典:
字典:dic={'a': 1, 'b': 2} dic['a']為
集合
對於序列來說,存放的的值可以有重複的,而對映類中無法存放相同的數值。
所以序列類有些操作是對映類沒有的。
1、連線操作符:+ 把一個序列和另一個相同的序列做連結
a='aa' b='bb' >>>a+b 得到:aabb
2、重複操作符:* 當序列需要拷貝多份時
a='a' >>a*3 >>aaa 拷貝3份
3、切片操作 [] [:] [::]
a='python' >>>a[0] 得到:p 順序數下標從0開始
>>>a[:] 得到所有:python
>>>a[0:2]得到3個數:pyt
>>>a[-2] 得到第二個數:o 倒數的話下標從1開始t
>>>a[-4:-2] 得到:th 從-4位到-2位,從右往左數
>>>a[-2:-4] 得到空,從-2到-4為,不能從左往右數
>>>a[-2:-4:-1]得到:ho,從-2到-4位,定義了-1可從左往右數
>>>a[::-1] 得到:nohtyP 逆序
a ='10001000100010001'
>>>a[0:17:4] 返回:11111,第0位算在內,開始跨4步。
>>>a[::4] 返回:1111 頭尾不寫代表預設最小,最大
>>>a[::-4]返回:1111 負號反向每隔4位數輸出
4、成員操作符:in ,not in
a='python'
>>>'PP' in a >>>False
>>>'p' in a >>>True
------------------------------------序列常用的函式--------------------------------
1、len()
2、max() and min() 獲取最大和最小值
a=(1,2,3)
>>>max(a) >>3
>>>min(a) >>1
3、str(),repr()
str是將數值轉化為字串;
repr是將物件(包括)轉化為字串,包括:數值,字串,元組,列表,集合,字典。
-----------------------------------------------------------------------------------
字典,集合,列表,元組
1、長相:
字典:
dic = {'a':1,'b':2}
a=dict(one=1,two=2)
b=dict([('a',1),('b',2),('c',3)])
c=dict({'a':1,'b':2,'c':3})
集合:
b=set([('a',1),('b',2),('c',3)])
c=set({'a':1,'b':2,'c':3})
d={1,2.0,3,4}
列表:
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
元組:
t=(1,3)
t='a','b
2、增刪改
增 刪 改
dict NULL pop update(將2個個字典合併為一個字典,key重複合併values)
clear
popitem
list append pop NULLL
extend clear
insert remove
set add pop update (update用來求2或多個集合的並集)
clear
remove
字典:
1、刪除pop(),括號中是要刪除的值。
2、刪除popitem(),隨機刪除一個值。
3、clear()清除字典
集合:
1、增加集合add()
2、刪除集合remove()
列表:
append函式:給陣列尾部追加一個數值
extend函式:給數值尾部追加一個或多個數值,要用中括號(列表)括起來。
insert函式:在陣列的某個位置插入一個數值
del 列表名[下標]
列表名.remove(刪除的值)
列表明.pop()有引數下標刪除刪除的值,沒引數刪除最後一個。