解析int - >的映射。从字符串列表

时间:2010-10-12 20:34:17

标签: python

这应该是一个相当直接的python问题,但我很难让语法正确。

假设我有一个字符串:

"1:a,b,c::2:e,f,g::3:h,i,j"

我希望将其转换为类似的地图:

{'1': ['a', 'b', 'c'], '2': ['e', 'f', 'g'], '3': ['h', 'i', 'j']}

如何做到这一点?

我可以弄清楚如何使用嵌套的for循环来做到这一点,但只是在一行中做到很酷。

谢谢!

1 个答案:

答案 0 :(得分:8)

这是一种方法:

dict((k, v.split(',')) for k,v in (x.split(':') for x in s.split('::')))