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