我正在從 CSV 文件中讀取數(shù)據(jù),我得到的列表中包含可變數(shù)量的子列表,如下所示:list = [ ["a","b","c"], ["aa","bb","cc"], ["11","22","33"], ......]該列表不必有 3 個子列表,但子列表之間始終具有相同數(shù)量的值由于現(xiàn)有方法,這是我能夠訪問此數(shù)據(jù)的唯一方法。在這種情況下,我不知道如何壓縮或創(chuàng)建字典。我想得到這樣的字典:dict = { 'a' : ['aa','11'], 'b' : ['bb','22'], 'c' : ['cc','33'],}感謝您的幫助
3 回答

躍然一笑
TA貢獻1826條經(jīng)驗 獲得超6個贊
概括@GrajdeanuAlex. 的解決方案:
{item[0]: list(item[1:]) for item in zip(*list)}

不負相思意
TA貢獻1777條經(jīng)驗 獲得超10個贊
首先,命名與內(nèi)置命令沖突的變量(如list
or )不是一個好主意dict
,但這適用于任何數(shù)量的子列表。
dict = {list[0][i]: [list[x][i] for x in range(1,len(list))] for i in range(len(list))}

慕尼黑8549860
TA貢獻1818條經(jīng)驗 獲得超11個贊
您可以使用 for 循環(huán)來執(zhí)行此操作。這是我的代碼
List = [ ['a','b','c'], ['aa','bb','cc' ], ['11','22','33'],....]
L = len(List[0])
Dict = {}
for j in range(L):
Lt = [i[j] for i in List]
Dict[Lt[0]] = Lt[1:]
print(Dict)
添加回答
舉報
0/150
提交
取消