我想提取第二級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