我想提取第二级2d字典中的所有键,但python解释器返回NameError。我的预期结果为:[ 'AA', 'BB', 'CC', 'AAA', 'BBB', 'CCC']提取第二级嵌套字典中的所有键
>>> adict
defaultdict(<class 'dict'>, {'b': {'aaa': 444, 'ccc': 666, 'bbb': 555}, 'a': {'aa': 111, 'cc': 333, 'bb': 222}})
>>> all = [ele for ele in adict[ww].keys() for ww in ['a', 'b']]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'ww' is not defined
像'()设置联盟(* adict.values。 ())'也可能是合适的......(它将提取所有的键作为一个集合而不是一个列表 - 如果你不想指定确切的键并且不想重复的话,这可能是有用的) –
注意:调用'.keys()'是不必要的,可以很贵(Py2)。另外:'set(itertools.chain.from_iterable(adict.values()))'也可以。 – AChampion