我有一個字符串和列表的搭配詞典:「更簡單」的方法來這個list解析+產品()組合
sample_dict = {'numbers': [1, 2, 3], 'ref': 'some text'}
目標是結合和「扁平化」成個人字典的迭代這將被通過芹菜作爲參數一組的計劃任務:
# end goal:
[{'numbers': 1, 'ref': 'some text'},
{'numbers': 2, 'ref': 'some text'},
{'numbers': 3, 'ref': 'some text'}]
我試圖用傳統的循環來保持代碼的簡潔供以後適應或bugfixing寫的,但我不能工作了方式可以訪問所有必要的嵌套變量。
結果是使用幾個相對複雜的列表內涵:所以
raw_vals = [[(i,v)] if isinstance(v,str) else ([(i,b) for b in v]) for i,v in sample_dict.items()]
end_goal = [dict(i) for i in product(*raw_vals)]
問:有沒有更詳細的,但可能不太神祕的方式來獲得相同的結果,使用標準的循環或類似的?我知道這可能會引發關於可讀性與LOC的爭論,但如果可以的話,儘量忽略它。
'有沒有更詳細的,但可能不太神祕的方式來獲得相同的結果,使用標準的循環或類似'當然?有,你總是可以在for循環中做到這一點。 – Netwave
我曾嘗試@DanielSanchez,但無法解決如何一次訪問主字典中的每個項目。例如,如果您遍歷每個鍵,那麼您一次只能訪問一個鍵,而無法返回合併的詞典。如果您可以回覆考慮的解決方案,我很樂意。 –