dict字典
dict
全稱dictionary
嚼黔,即字典盖呼。在其他語言中也稱為map
蠢挡,使用鍵-值(key-value)
存儲弧岳,具有極快的查找速度。
聲明一個dict
變量
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
查詢數(shù)據(jù)
d['Michael'] --- 95
添加數(shù)據(jù)
d['Adam'] = 67
d --- {'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 67}
更改數(shù)據(jù)
d['Adam'] = 77
d --- {'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 77}
如果key不存在袒哥,dict就會報錯:
>>> d['Adan']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Adan'
避免key不存在的錯誤
- 方法一
通過in
判斷key是否存在
'Thomas' in d --- False
- 方法二
通過dict提供的get()
方法
d.get('Thomas') --- None
注意:返回None的時候Python的交互環(huán)境不顯示結(jié)果缩筛。
指定get()
方法的返回結(jié)果:
d.get('Thomas', -1) --- -1
d.get('Thomas', 'key不存在') --- 'key不存在'
刪除數(shù)據(jù)
要刪除一個key,用pop(key)
方法堡称,對應的value
也會從dict中刪除
# 此時d的值為:{'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 77}
d.pop('Bob') --- 75
d --- {'Michael': 95, 'Tracy': 85, 'Adam': 77}
set集合
set是一個集合瞎抛,集合中不能包含重復的數(shù)據(jù)。
聲明一個set變量
set()函數(shù)可以創(chuàng)建一個無序不重復的元素集却紧,這個函數(shù)至多可以傳一個參數(shù)桐臊。也就是set('str')/set([list])/set((tuple))
創(chuàng)建一個set變量,提供一個list作為輸入集合:
s = set([1, 3, 4, 2])
s --- {1, 2, 3, 4}
注意晓殊,傳入的參數(shù)[1, 3, 4, 2]是一個list断凶,而顯示的結(jié)果是{1, 2, 3, 4},顯示的順序和list原來的順序是不同的巫俺。
重復元素在set中自動被過濾:
s = set([1, 1, 2, 2, 3, 3])
s --- {1, 2, 3}
添加元素
通過add()
方法可以添加元素到set中认烁,可以重復添加,但不會有效果
# 此時s的所有元素為{1, 2, 3}
s.add(4)
s --- {1, 2, 3, 4}
s.add(4)
s --- {1, 2, 3, 4}
刪除元素
通過remove()
方法可以刪除元素
s.remove(4)
s --- {1, 2, 3}