gpt4 book ai didi

python - 从表创建字典 - python

转载 作者:太空宇宙 更新时间:2023-11-04 05:00:27 26 4
gpt4 key购买 nike

我想编写一个代码来从一个表中创建一个字典,该表将水果映射到不同篮子中水果数量的字典。

table = [['Fruit', 'Basket1', 'Basket2', 'Basket3'],
['Apples', 4, 5, 6],
['Bananas', 7, 8, 10],
['Oranges', 8, 9, 2]]

Expected dictionary: {'Apples': {'Basket1':[4],'Basket2':[5],'Basket3':[6]}, 'Bananas':{'Basket1':[7],'Basket2':[8],'Basket3':[10]}, 'Oranges':{'Basket1':[8],'Basket2':[9],'Basket3':[2]}}

Expected Output: [Apples][Basket1]= 4

以下是我目前所拥有的。我知道最后两行没有意义,但我很难弄清楚如何结束这一行。

basket = [y for y in table[0] if y!='Fruit']
Quantity=[y[1:4] for y in table if y[0]!='Fruit']
Fruit = [y[0] for y in table if y[0]!='Fruit']
a = dict(zip(Fruit, Quantity))
b = dict(zip(a,Basket)
b

最佳答案

假设您不关心表格标题行,您可以使用字典理解并枚举表格行:

>>> {row[0]: {'Basket{}'.format(n): [v] for n, v in enumerate(row[1:], start=1)}
for row in table[1:]}
{'Apples': {'Basket1': [4], 'Basket2': [5], 'Basket3': [6]},
'Bananas': {'Basket1': [7], 'Basket2': [8], 'Basket3': [10]},
'Oranges': {'Basket1': [8], 'Basket2': [9], 'Basket3': [2]}}

如果您必须匹配 header ,那么这种方法应该有效:

headers = table[0][1:]
{row[0]: {header: [v] for header, v in zip(headers, row[1:])}
for row in table[1:]}

关于python - 从表创建字典 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45874544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com