如何将字符串转换为python(Generator表达式)中的嵌套字典?

没有

这是输入字符串:

s = 'Iva paper 10,Nelson pens 5,Oleg marker 3,Sasha paper 7,Mark envelope 20'

我想要这样的输出:

{'Iva': {'paper': 10},
'Mark': {'envelope': 20},
'Nelson': {'pens': 5},
'Oleg': {'marker': 3},
'Sasha': {'paper': 7}}

可以做到这一点的代码是:

for k in s.split(','):
    v = k.split(' ')
    d[v[0]] = {v[1]: int(v[2])}  

但是问题是如何使用Generator表达式来实现

如果您是2个元素,'paper 5,pen 6,...'我可以这样做

d = dict((k, int(v)) for k, v in (e.split(' ') for e in s.split(',')))

我不知道在这种情况下我们该怎么做!

谢谢

亨利·吉亚
s = 'Iva paper 10,Nelson pens 5,Oleg marker 3,Sasha paper 7,Mark envelope 20'

g = dict((j, dict([(k, l)])) for i in s.split(',') for j, k, l in (i.split(' '),))

#{'Iva': {'paper': '10'}, 'Nelson': {'pens': '5'}, 'Oleg': {'marker': '3'}, 'Sasha': {'paper': '7'}, 'Mark': {'envelope': '20'}}
print(g)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将数组中的字符串转换为表达式?

如何将字符串转换为代数表达式

如何将字符串转换为lambda表达式?

如何将字符串类型的算术表达式转换为整数?

如何将字符串转换为其等效的LINQ表达式树?

如何将正则表达式数据转换为全局字符串php

如何将字符串转换为正则表达式

如何将PHP字符串转换为PHP正则表达式

如何将导入的SQL查询正确转换为SSRS中的表达式字符串

如何将字典中的字符串值转换为python中的列表?

将 docplex 表达式转换为字符串

将Elm表达式转换为字符串

将NCalc表达式转换为字符串

将字符串转换为 SymPy 表达式?

[Python]:如何将字符串中不带引号的键值字符串转换为字典

如何将C#字符串表达式转换为逻辑应用程序表达式以替换变量数据

如何将嵌套的字典键转换为字符串?

此python代码如何使用正则表达式sub()和group()将字符串转换为camelCase?

如何将分隔字符串转换为字典?

如何将xml字符串转换为字典?

如何将字符串转换为字典?

如何将JSON字符串转换为字典?

如何将字符串转换为字典或列表?

如何将分割字符串转换为字典?

如何将字符串转换为字典列表

将字符串表达式转换为数学表达式?

将表达式字符串转换为引用表达式

将字符串表达式转换为实际的工作实例表达式

Python-如何将类似字典的字符串转换为字典