Pau*_*ley 0 python filter defaultdict
我有一个列表的默认,但我想基本上这样做:
myDefaultDict = filter(lambda k: len(k)>1, myDefaultDict)
Run Code Online (Sandbox Code Playgroud)
除了它似乎只与列表一起使用.我能做什么?
你是否只想获得len> 1的值?
字典理解是处理这个问题的好方法:
reduced_d = {k: v for k, v in myDefaultDict.items() if len(v) > 1}
Run Code Online (Sandbox Code Playgroud)
正如martineau指出的那样,这并没有给你相同defaultdict的源功能myDefaultDict.您可以在defaultdict instantiaion上使用dict理解,因为martineau显示可以获得相同的defaultdict功能.
from collections import defaultdict
myDefaultDict = defaultdict(list, {'ab': [1,2,3], 'c': [4], 'def': [5,6]}) # original
reduced_d = defaultdict(list, {k: v for k, v in myDefaultDict.items() if len(v) > 1})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1086 次 |
| 最近记录: |