3 回答

TA貢獻(xiàn)1853條經(jīng)驗 獲得超9個贊
用于zip將您的數(shù)組轉(zhuǎn)置為[('a', 1, 4, 7), ...]; 彈出第一個元素作為鍵,將其余元素列為值。
arr = [['a','b','c'],[1,2,3],[4,5,6],[7,8,9]]
[{ e[0]: list(e[1:])} for e in zip(*arr)]
# => [{'a': [1, 4, 7]}, {'b': [2, 5, 8]}, {'c': [3, 6, 9]}]

TA貢獻(xiàn)1909條經(jīng)驗 獲得超7個贊
使用帶有序列解包的列表推導(dǎo)式:
L = [['a','b','c'],[1,2,3],[4,5,6],[7,8,9]]
res = [{names: nums} for names, *nums in zip(*L)]
print(res)
[{'a': [1, 4, 7]}, {'b': [2, 5, 8]}, {'c': [3, 6, 9]}]

TA貢獻(xiàn)1810條經(jīng)驗 獲得超4個贊
a=[['a','b','c'],[1,2,3],[4,5,6],[7,8,9]]
dictionary_values=[dict([(a[0][i],list(zip(*a[1:])[i])) for i in range (len(a)-1)])]
輸出:
[{'a': [1, 4, 7], 'b': [2, 5, 8], 'c': [3, 6, 9]}]
添加回答
舉報