【发布时间】:2020-05-16 15:38:41
【问题描述】:
我有一个字符串列表,其中包含西班牙食谱的成分及其数量,我想获得一个字典列表,将每种成分、单位和数量分开。
这是列表:
ingredients=[
'50',
'ccs',
'aceite',
'1',
'hoja',
'laurel',
'\n',
'1',
'cabeza',
'ajos',
'1',
'vaso',
'vino',
'1,5',
'kilos',
'conejo',
'\n',
...]
我想得到这样的字典:
my_dic=[
{"name":"aceite" ,"qt":50 ,"unit": "ccs"},
{"name":"laurel" ,"qt":1 ,"unit": "hoja"},
{"name":"ajos" ,"qt":1 ,"unit": "cabeza"},
{"name":"vino" ,"qt":1 ,"unit": "vaso"},
{"name":"conejo" ,"qt":1,5 ,"unit": "kilos"},
...]
我一直在尝试,但这一切都是一场灾难。 有什么想法吗?
提前致谢!!
【问题讨论】:
-
那么,对于三个连续项目的每一块,您希望使用这些值生成一个字典吗?你能从这三个项目中产生字典吗?你能把列表切成块吗?你能至少展示你一直在尝试的事情之一吗?
-
您提到的字典输出结构不正确。那是无效的字典。密钥不能相同。
-
1.过滤掉
'\n'2. 将列表分成大小为3 的块 3. 简单的列表理解,如[dict(zip(['name','qt','unit'],chunk)) for chunk in list] -
我刚刚注意到,您最初的
ingredients数据包含一些'\n'元素,没有任何规则间距。我假设你想忽略那些?您是否考虑过先单独通过以将其从列表中删除? -
@SaniyaParveez OP 说“一个字典”,但似乎实际上想要一个字典列表。
标签: python arrays string list dictionary