Python 单行for循环以构建字典?

Python 单行for循环以构建字典?,python,for-loop,dictionary,Python,For Loop,Dictionary,我正在构建一个字典(稍后我会将其转换成JSON字符串)。我是这样构造的: data = {} for smallItem in bigList: data[smallItem] = smallItem 我怎样才能使一条循环线达到这个效果?您可以使用: 您还可以使用和: 但是听写理解会更快 至于将其转换为JSON字符串,您可以使用。实际上,在这种特定情况下,您甚至不需要字典理解,因为您使用的是重复的键/值对 >>> bigList = [1, 2, 3, 4, 5] &

我正在构建一个字典(稍后我会将其转换成JSON字符串)。我是这样构造的:

data = {}
for smallItem in bigList:
    data[smallItem] = smallItem
我怎样才能使一条循环线达到这个效果?

您可以使用:

您还可以使用和:

但是听写理解会更快


至于将其转换为JSON字符串,您可以使用。

实际上,在这种特定情况下,您甚至不需要字典理解,因为您使用的是重复的键/值对

>>> bigList = [1, 2, 3, 4, 5]
>>> dict(zip(bigList, bigList))
{1: 1, 2: 2, 3: 3, 4: 4, 5: 5}

使用生成器表达式的
dict
的唯一优点是它可以与Python2.6及以下版本一起工作,这可能很重要。谢谢,我是python的新手,我一直在尝试找到此功能的名称。回答得好。谢谢只是想知道-如果我想将其应用于多个字段,语法应该是什么?这实际上让我学习了一种新方法
zip
+1
data = dict((smallItem, smallItem) for smallItem in bigList)
>>> bigList = [1, 2, 3, 4, 5]
>>> dict(zip(bigList, bigList))
{1: 1, 2: 2, 3: 3, 4: 4, 5: 5}