如何将列表转换为必需的字典格式

时间:2012-12-19 11:20:42

标签: python dictionary python-2.7

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

我想要输出如下:

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

请让我知道我该怎么做。

3 个答案:

答案 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))