Python 字典 Dictionary

系统 1518 0

字典的宣告

變數名 { 鍵 : 值 }

variable_name { key : value }

1. 字典的宣告

>>> X = dict()
>>> id(X)
37383264

 

>>> X = { 'One':1,'Two':2,'Three':3 }
>>> X
{'One': 1, 'Two': 2, 'Three': 3}
>>> id(X)
34178464 

>>> X.values()
dict_values([1, 2, 3])
>>> X.keys()
dict_keys(['One', 'Two', 'Three'])

  2. 字典查詢

>>> X['Two']
2

  3. 字典元素個數

>>> len(X)
3

 4. 判斷 Key 或 Value 屬於 Dictionary 的元素

>>> 'Two' in X
True
>>> 'Four' in X
False
>>> 2 in X
False
>>> 2 in X.values()
True

5. 計算 Key 出現次數

>>> H = 'Python is pretty'
>>> def my_dictionary(H):
...     D = dict()
...     for C in H:
...        if C not in D:
...           D[C] = 1
...        else:
...           D[C] += 1
...     return D
...
>>> X = my_dictionary(H)
>>> X
{'P': 1, 'y': 2, 't': 3, 'h': 1, 'o': 1, 'n': 1, ' ': 2, 'i': 1, 's': 1, 'p': 1,
 'r': 1, 'e': 1}

  6. 字典遍歷

不按順序遍歷:

>>> for c in X:
...    print(c,X[c])
...
1 one
2 two
3 three
4 four
5 five

按順序遍歷:


>>> for c in sorted(X) :
...     print(c, X[c])
...
1 one
2 two
3 three
4 four
5 five

 

 7. 反向查詢: 由 Value 去查詢 Key

 >>> def reverse_lookup(d,v):
...     for k in d:
...         if d[k] == v:
...             return k
...     raise LookupError()
...

 >>> X = {1:'one',2:'two',3:'three',4:'four',5:'five'}

>>> k = reverse_lookup(X,'two')
>>> k
2

>>> k = reverse_lookup(X,'Six')
Traceback (most recent call last):
  File " ", line 1, in
  File " ", line 5, in reverse_lookup
LookupError

end

  

8. 字典 Dictionary 與列表 List

>>> def invert_dict(d):
...     reverse = dict()
...     for k in d:
...         val = d[k]
...         if val not in reverse:
...            reverse[val] = [k]
...         else:
...            reverse[val].append(k)
...     return reverse
...
>>> h = {'a':1,'b':2,'c':1,'d':3,'e':1,'f':2}
>>> m = invert_dict(h)
>>> m
{1: ['a', 'c', 'e'], 2: ['b', 'f'], 3: ['d']}

 

參考

1. 像計算機科學家一樣思考 Python, [美] Allen B Downey 著,趙普明譯,中國工信出版集團 / 人民郵電出版社, ISDN 9787115425515

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论