[python]pythonic的字典常用操作
生活随笔
收集整理的這篇文章主要介紹了
[python]pythonic的字典常用操作
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
注意:dct代表字典,key代表鍵值
1.判斷字典中某個(gè)鍵是否存在
實(shí)現(xiàn)
dct.has_key(key) #False更Pythonic方法
key in dct #False2.獲取字典中的值
你想對key的value加1,首先你要判斷key是否存在,不存在給一個(gè)默認(rèn)值
實(shí)現(xiàn)
if key not in dct:dct[key] = 0 dct[key] += 1更Pythonic方法
dct[key] = dct.get(key, 0) + 1如果key存在則返回對應(yīng)的value,如果不存在返回默認(rèn)值(這里是0)
3.字典的value是可變對象
如果這個(gè)可變對象為list,你想初始化并修改它們。
實(shí)現(xiàn)
更Pythonic方法
for (key, value) in data:dct.setdefault(key, []).append(value)更更Pythonic方法
dct = defaultdict(list) # 字典value的默認(rèn)值為[] for (key, value) in data:dct[key].append(value)dct = defaultdict(list) 等同于 dct.setdefault(key, []) 據(jù)說前者快。
defaultdict詳解
4.合并兩個(gè)字典
a = {'a':1,'b':2} b = {'c':3}# 方法1 new_dict = a new_dict.update(b)# 方法2 new_dict = dict(a.items()+b.items())# 方法3(Pythonic) new_dict = dict(a, **b)如果合并兩個(gè)字典的時(shí)候,如果兩個(gè)字典有相同的key,則把value相加
from collections import Counter a = {'a':1,'b':2} b = {'a':1}c = Counter(a) + Counter(b) # 此時(shí)c為Counter對象 c = dict(c) # 轉(zhuǎn)變成字典 print c # {'a': 2, 'b': 2}參考:
python:字典劇本
python中兩個(gè)字典合并
合并字典時(shí),相同key的value相加
總結(jié)
以上是生活随笔為你收集整理的[python]pythonic的字典常用操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: squide代理
- 下一篇: JAVA随机数之多种方法从给定范围内随机