1

输入为 a = "test1,test2,test3,test4,...etc"

我想要如下输出:

b={"test1":"test1","test2":"test2","test3":"test3",..etc}

请让我知道我该怎么做。

4

3 回答 3

6

要在循环中创建字典,请使用字典理解。

假设您的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(','))
于 2012-12-19T12:36:58.663 回答
2

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
于 2012-12-19T13:17:20.860 回答
0

另一种方式:

tmp = a.split(",")
b = dict(zip(tmp,tmp))
于 2012-12-19T15:30:51.750 回答