Learning Python 009 dict(字典)和 set
Python dict(字典)和 set
dict (字典)是什么東西
dict全稱dictionary。為什么這個數據結構取名叫dict。因為dict的實現原理和查字典是一樣的。dict使用了鍵-值(key-value)存儲的方式。就好比在字典里查某個字一樣。dict數據結構中的鍵(key)就好比字典中的索引表里這個字對應的頁碼。值(value)就好比字典中這個字的內容。這樣的特點,效果就是查找速度極快。
例如:一個人“名字”-“成績”的對照表,直接根據名字查找成績:
定義dict字典
>>> d = {'Aobo': 59, 'Shutong': 98, 'Yunjie': 86} >>> d['Aobo'] 59向dict中,添加元素
>>> d['Yue'] = 67 >>> d['Yue'] 67修改dict中,某個鍵(key)的值(value)
>>> d['Aobo'] = 88 >>> d['Aobo'] 88判斷 鍵(key)是否存在于這個dict(字典)中
如果,key不存在,會報錯。比如:
>>> d['Harry'] Traceback (most recent call last):File "<stdin>", line 1, in <module> KeyError: 'Harry'避免出現這樣的報錯的方法有:
1. 使用in判斷key是否存在:
注意:
返回None的時候,在終端上的Python交互式命令行不顯示結果。
刪除dict中,指定鍵元素
使用pop(key)方法,就可以將對應的key-value在dict中刪除:
>>> d.pop('Aobo') 88 >>> d {'Shutong': 98, 'Yunjie': 86, 'Yue': 67}使用dict,你需要注意的事情
特點是比較出來的,所以,和list比較,dict有幾個特點
1. 速度快。無論是查找還是插入,速度都極快,并且不會隨著key的增加而變慢。
2. 需要占用大量的內存,內存浪費多。
那么,list的特點就是:
1. 查找和插入的時間隨著元素的增加而增加;
2. 占用空間小,浪費內存很少。
注意:key的值是不可變的。
字符串、整數等都是不可變的,可以放心地作為key。而list是可變的,就不能作為key。
set
介紹
與dict數據結構類似,只是它只有key,沒有value
定義一個set數據結構
使用set()函數定義set數據結構。在()里面添加一個list數據([]):
>>> s = set([1, 2, 3]) >>> s {1, 2, 3} >>> s = set([1, 1, 2, 2, 3, 3]) >>> s {1, 2, 3}注意:
set會自動將重復的元素過濾掉。所以,在set中,沒有重復的key。
向set數據類型中,添加元素
使用add()方法,添加元素。
>>> s.add(4) >>> s {1, 2, 3, 4}可以添加重復的key,但是不會有效果:
>>> s.add(3) >>> s {1, 2, 3, 4}向set數據類型中,刪除指定key的元素
使用remove()方法,可以刪除元素:
>>> s.remove(4) >>> s {1, 2, 3}對set數據,進行交集和并集等操作
>>> s1 = set([1, 2, 3]) >>> s2 = set([2, 3, 4]) >>> s1 & s2 {2, 3} >>> s1 | s2 {1, 2, 3, 4}使用set,需要注意的事情
set和dict之間唯一的區別就是,set沒有存儲對應的value。
參考網站:
http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143167793538255adf33371774853a0ef943280573f4d000
轉載于:https://www.cnblogs.com/aobosir/p/5928639.html
總結
以上是生活随笔為你收集整理的Learning Python 009 dict(字典)和 set的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP+ExtJS 文件上传示例
- 下一篇: 【Python之路Day17】Pytho