我有一個包含以下資料的字典串列
[{
"col1":"1",
"col2":"a"
},{
"col1":"2",
"col2":"b"
},{
"col1":"3",
"col2":"c"
}]
這里我的字典鍵欄位是動態的(例如 col1、col2)。
我想根據關鍵欄位分組將此字典資料隔離到多個串列中。我試圖實作的結果應該是這樣的
{
"col1":["1","2","3"],
"col2":["a","b","c"]
}
誰能告訴我如何在幾行中完成它而不是撰寫多個 for 回圈?
uj5u.com熱心網友回復:
這個解決方案怎么樣?您可以嘗試collections.defaultdict()將所有專案與相同的key: 為了使其可讀,使用loops.
from collections import defaultdict
dd = defaultdict(list)
lst = [{
"col1":"1", "col2":"a"
},{
"col1":"2", "col2":"b"
},{
"col1":"3", "col2":"c"
}]
for d in lst:
#print(d) # d is a dict
for k, v in d.items():
dd[k].append(v)
print(dd)
結果:
defaultdict(<class 'list'>, {'col1': ['1', '2', '3'], 'col2': ['a', 'b', 'c']})
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/398308.html
上一篇:使用等差數列作為索引時的問題
