我正在嘗試從 list 中獲取字典。首先,我有一個串列串列,并使用下面的代碼從串列串列中獲得一個串列:
y_table = [["Account Manager", "Name", "BP", "Contact", "Quote Name", "Type", "Status", "Total"],
["bubble", "kwlak", "5677", "conn", "987", "butter", "fish", "fill"],
["rose", "kwlak", "5677", "conn", "987", "butter", "fish", "fill"],
["purple", "kwlak", "5677", "conn", "987", "butter", "fish", "fill"],
["dark", "kwlak", "5677", "conn", "987", "butter", "fish", "fill"],
["star", "kwlak", "5677", "conn", "987", "butter", "fish", "fill"],
["asmr", "kwlak", "5677", "conn", "987", "butter", "fish", "fill"],]
flat_list = []
for sublist in my_table:
for item in sublist:
flat_list.append(item)
print(flat_list)
現在我的串列看起來像這樣:
['Account Manager', 'Name', 'BP', 'Contact', 'Quote Name', 'Type', 'Status', 'Total', 'bubble', 'kwlak', '5677', 'conn', '987', 'butter', 'fish', 'fill', 'rose', 'kwlak', '5677', 'conn', '987', 'butter', 'fish', 'fill', 'purple', 'kwlak', '5677', 'conn', '987', 'butter', 'fish', 'fill', 'dark', 'kwlak', '5677', 'conn', '987', 'butter', 'fish', 'fill', 'star', 'kwlak', '5677', 'conn', '987', 'butter', 'fish', 'fill', 'asmr', 'kwlak', '5677', 'conn', '987', 'butter', 'fish', 'fill']
現在我想從這個串列中得到一個字典,我希望它最后看起來像這樣:
Table: [{'Account Manager': 'bubble', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn', 'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'},
{'Account Manager': 'rose', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn', 'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'},
{'Account Manager': 'purple', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn', 'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'},
{'Account Manager': 'dark', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn', 'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'},
{'Account Manager': 'star', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn', 'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'},
{'Account Manager': 'asmr', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn', 'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'}]
我試圖運行這段代碼來獲取這本字典,但它不起作用:
header_my_table = flat_list[0]
my_table.remove(flat_list[0])
my_table_dict = dict(zip(header_my_table, flat_list))
print(my_table_dict)
uj5u.com熱心網友回復:
似乎從構建您想要的串列y_table而不是展平它要容易得多。由于您想將第一個子串列用作鍵,將其他子串列用作值,因此您可以簡單地迭代y_table[1:]并在每個子串列的壓縮對上使用 dict 建構式y_table[0]:
out = [dict(zip(y_table[0], lst)) for lst in y_table[1:]]
輸出:
[{'Account Manager': 'bubble', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn',
'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'},
{'Account Manager': 'rose', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn',
'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'},
{'Account Manager': 'purple', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn',
'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'},
{'Account Manager': 'dark', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn',
'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'},
{'Account Manager': 'star', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn',
'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'},
{'Account Manager': 'asmr', 'Name': 'kwlak', 'BP': '5677', 'Contact': 'conn',
'Quote Name': '987', 'Type': 'butter', 'Status': 'fish', 'Total': 'fill'}]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/414121.html
標籤:
下一篇:我不知道為什么這段代碼有效我理解除了self._first=self._first.next這一行之外的所有內容為什么這一行會洗掉第一個元素
