我正在尝试将一行字符串转换为字典,我面临一个错误。 这就是我拥有的和我所做的:
line="nsd-1:quorum"
t=tuple(line.split(":"))
d=dict(t)
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
d=dict(t)
ValueError: dictionary update sequence element #0 has length 5; 2 is required
基本上,我想要实现的是拥有一个键值对。 因此,如果我有一组以“:”分隔的值,我希望将它作为关键字之前的任何关键字,并且在冒号之后需要为关键字的值。 例如:如果我使用上面的字符串,我想要“nsd-1”作为我的键,“quorum”作为值。
感谢任何帮助。 感谢
答案 0 :(得分:4)
将其包裹在列表中:
>>> dict([t])
{'nsd-1': 'quorum'}
也没有必要将split
的返回值转换为元组:
>>> dict([line.split(':')])
{'nsd-1': 'quorum'}
答案 1 :(得分:2)
将t
放入空列表中,如下所示:
d=dict([t])