gpt4 book ai didi

python - 从字符串创建列表字典

转载 作者:太空狗 更新时间:2023-10-30 01:41:45 25 4
gpt4 key购买 nike

我想将诸如 'a=b,a=c,a=d,b=e' 的字符串转换为列表字典 {'a': ['b', 'c', 'd' ], 'b': ['e']} 在 Python 2.6 中。

我目前的解决方案是这样的:

def merge(d1, d2):
for k, v in d2.items():
if k in d1:
if type(d1[k]) != type(list()):
d1[k] = list(d1[k])
d1[k].append(v)
else:
d1[k] = list(v)
return d1

record = 'a=b,a=c,a=d,b=e'

print reduce(merge, map(dict,[[x.split('=')] for x in record.split(',')]))

我敢肯定这是不必要的复杂。

有更好的解决方案吗?

最佳答案

d = {}
for i in 'a=b,a=c,a=d,b=e'.split(","):
k,v = i.split("=")
d.setdefault(k,[]).append(v)
print d

或者,如果您使用的是 python > 2.4,则可以使用 defaultdict

from collections import defaultdict

d = defaultdict(list)
for i in 'a=b,a=c,a=d,b=e'.split(","):
k,v = i.split("=")
d[k].append(v)
print d

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

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