Python创建字典列表

2024-10-03 02:34:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python创建一个字典列表。通常创建列表的方法对我很有用。那就是mylist = [{1:1},{2:2}]

然而,当我尝试使用对range()函数的理解来创建它时,mylist = [a:a for a in range(10)]我得到了语法错误。你知道吗

但令我惊讶的是,如果我以同样的方式构造一个集合,它会像预期的那样工作。myset = {a:a for a in range(10)}

我能知道为什么会这样吗?我在用Python3


Tags: 方法函数in列表for字典方式range
2条回答

我想你想要这样的东西:

mylist = [{a:a} for a in range(10)]

你忘了{}。你知道吗

在第二个示例中,您的myset是dict,而不是set:

In [8]: type(myset)
Out[8]: dict

在本例中,{}表示dictionary comprehension,而不是set。你知道吗

列表中缺少词典创建:

mylist = [{a:a} for a in range(10)]

相关问题 更多 >