Python學習筆記6 字典與集合

2021-09-29 02:02:14 字數 2466 閱讀 2726

set

鍵-值(key-value)儲存

你可以想象是數學中的函式f(x) 乙個x對應乙個f(x) 例如:

>>

> a =

>>

> a[

"it1"

]'hello'

>>

> a[

'a']

traceback (most recent call last)

: file ""

, line 1,in

keyerror:

'a'

一是通過in判斷key是否存在

>>

>

"a"in a

false

通過dict提供的get()方法,如果key不存在,可以返回none,或者自己指定的value
>>

> a.get(

'a')

>>

> a.get(

'a',-1

)-1

和list比較,dict有以下幾個特點:

查詢和插入的速度極快,不會隨著key的增加而變慢;

需要占用大量的記憶體,記憶體浪費多。

而list相反:

查詢和插入的時間隨著元素的增加而增加;

占用空間小,浪費記憶體很少。

所以,dict是用空間來換取時間的一種方法。

del

>>

>

dict

=>>

>

dict

>>

>

deldict

['age'

]>>

>

dict

pop(key)方法,對應的value也會從dict中刪除

>>

>

dict

=>>

>

dict

.pop(

'age')7

>>

>

dict

序號

函式描述

1cmp(dict1, dict2)

比較兩個字典元素。

2len(dict)

計算字典元素個數,即鍵的總數。

3str(dict)

輸出字典可列印的字串表示。

4type(variable)

返回輸入的變數型別,如果變數是字典就返回字典型別。 序號

函式描述

1dict.clear()

刪除字典內所有元素

2dict.copy()

返回乙個字典的淺複製

3dict.fromkeys(seq[, val])

建立乙個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值

4dict.get(key, default=none)

返回指定鍵的值,如果值不在字典中返回default值

5dict.has_key(key)

如果鍵在字典dict裡返回true,否則返回false

6dict.items()

以列表返回可遍歷的(鍵, 值) 元組陣列

7dict.keys()

以列表返回乙個字典所有的鍵

8dict.setdefault(key, default=none)

和get()類似, 但如果鍵不存在於字典中,將會新增鍵並將值設為default

9dict.update(dict2)

把字典dict2的鍵/值對更新到dict裡

10dict.values()

以列表返回字典中的所有值

11pop(key[,default])

刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。

12popitem()

返回並刪除字典中的最後一對鍵和值。

set和dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。

>>

> s=

set([1

,1,1

])>>

> s

>>

>

>>

> s.add(2)

>>

> s

>>

> s.remove(2)

>>

> s

Python學習筆記6 字典Dict

python內建了字典 dict的支援,dict全稱dictionary,在其他語言中也稱為map,使用鍵 值 key value 儲存,具有極快的查詢速度。person person name keven type person dict 字典可以原地修改,即它是可變的。dict1 id dict...

Swift學習筆記 6 字典

1.定義 1.基本定義 key 1 value 1,key 2 value 2,key 3 value 3 var dict name xiaoqin female age 20 for key,value in dict 2.型別強制定義 dictionaryvar dict2 dictionar...

Python基礎(6) 字典

dict,可變得資料型別,儲存對映,無序。對映,即為一對一的kye value鍵值對。1,字典的定義 d 定義空字典 d dict 工廠方法定義字典 d fromkeys value fromkeys函式生成字典,value一致 2,字典的增加 d key value 直接通過key值增加 d.up...