相关疑难解决方法(0)

设置Python的collections.defaultdict的默认字符串值

我正在使用Python 3.2.3并希望更改默认返回的字符串值:

from collections import defaultdict
d=defaultdict(str)
d["NonExistent"]
Run Code Online (Sandbox Code Playgroud)

返回的值是''.如何更改此设置,以便在找不到密钥时"unknown"返回而不是空字符串?

python collections

38
推荐指数
1
解决办法
2万
查看次数

python defaultdict:0 vs. int和[] vs list

传递int和lambda: 0作为参数之间有什么区别吗?或者之间list和lambda: []?

看起来他们做同样的事情:

from collections import defaultdict
dint1 = defaultdict(lambda: 0)
dint2 = defaultdict(int)
dlist1 = defaultdict(lambda: [])
dlist2 = defaultdict(list)

for ch in 'abracadabra':
    dint1[ch] += 1
    dint2[ch] += 1
    dlist1[ch].append(1)
    dlist2[ch].append(1)

print dint1.items()
print dint2.items()
print dlist1.items()
print dlist2.items()
## -- Output: --
[('a', 5), ('r', 2), ('b', 2), ('c', 1), ('d', 1)]
[('a', 5), ('r', 2), ('b', 2), ('c', 1), ('d', 1)]
[('a', [1, 1, 1, 1, 1]), …
Run Code Online (Sandbox Code Playgroud)

python collections defaultdict

35
推荐指数
1
解决办法
3万
查看次数

标签 统计

collections ×2

python ×2

defaultdict ×1