输入为a = "test1,test2,test3,test4,...etc"
我想要输出如下:
b={"test1":"test1","test2":"test2","test3":"test3",..etc}
请让我知道我该怎么做。
答案 0 :(得分:6)
要在循环中创建字典,请使用字典理解。
假设您的a
变量是一个逗号分隔值的字符串,则以下内容可行:
{v: v for v in a.split(',')}
我们使用逗号分隔列表中的每个值作为结果字典的键和值。
在Python 2.7和3.0中添加了{k: v ...}
dict理解,在早期的python版本中生成了2值元组:
dict((v, v) for v in a.split(','))
答案 1 :(得分:2)
Martijn Pieters'correct answer的补充:
dict理解仅适用于Python版本> = 2.7。对于早期版本的Python,您可以创建2值元组并将它们传递给dict()
函数:
dict((item, item) for item in a.split(','))
最后,提及这个选项,这将是漫长的道路:
d = {} # alternatively, d = dict()
for item in a.split(','):
d[item] = item
答案 2 :(得分:0)
另一种方式:
tmp = a.split(",")
b = dict(zip(tmp,tmp))