现在的位置: 首页 > 综合 > 正文

Python Dictionary

2017年12月15日 ⁄ 综合 ⁄ 共 719字 ⁄ 字号 评论关闭

1.  test if a key exists in a dict.

The
lame version:

dct.has_key(key)  

The Python way:

key in dct  


2.
test if a key NOT exist in a dict.

Do
this you must not:

not key in dict  

More confortable way:

key not in dict  

3. 
use dict to count something

 The
mediocre way:

if key not in dct:  
    dct[key] = 0  
dct[key] = dct[key] + 1  

Awesome way:

dct[key] = dct.get(key, 0) + 1  

More
Awesome:

>>> from collections import Counter  
>>> d = [1, 1, 1, 2, 2, 3, 1, 1]  
>>> Counter(d)  
Counter({1: 5, 2: 2, 3: 1})  

4. dict's value is list.

Diao
Si's way:

dct = {}  
for (key, value) in data:   
    if key in dct:   
        dct[key].append(value)   
    else:   
        dct[key] = [value]  

Pu Tong:

dct = {}   
for (key, value) in data:  
    group = dct.setdefault(key, []) # key might exist already   
    group.append(value)  


Gao Fu Shuai:

dct = defaultdict(list)   
for (key, value) in data:   
    dct[key].append(value) # all keys have a default already  

Thanks Lao Qian!


抱歉!评论已关闭.