我試圖將下面的代碼變成更可讀的東西。試圖將python嵌套循環轉換爲列表/ dict理解
for x in list_of_dicts:
for y in header:
if y not in x.keys():
x[y] = ''
它需要一個字典列表,並添加鍵值:值對,在默認值=「」對於那些尚未在當前字典中的任何
鍵。
我還是新來的python,所以任何幫助將不勝感激。我想:
return [x[y] = '' for x in list_of_dicts for y in header if y not in x.keys()]
但我想你不能有「=」
理解是建立一個列表,而不是執行一系列賦值語句。 –
或許看看把'list_of_dicts'變成'defaultdict'的列表,以便你不必爲未定義的鍵明確填充它? – sjs
'如果y不在x.keys()中' - 刪除'keys()'調用。在Python 2中,這將構建一個不必要的鍵列表,然後迭代它們以找到'y',完全放棄使用字典的好處。在Python 3中,這只是不必要的輸入。 '如果y不在x'是你想要的。 – user2357112