Python - 创建字典列表

标签 python python-3.x dictionary

我想在 python 中创建一个字典列表。创建列表的常用方法对我有用。即 mylist = [{1:1},{2:2}]

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

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

我可以知道为什么会这样吗?我正在使用 Python3

最佳答案

我想你想要这样的东西:

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

您忘记了 {}

在第二个例子中,你的 myset 是一个字典,而不是一个集合:

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

在此示例中,{} 表示 dictionary comprehension , 不是集合理解。

关于Python - 创建字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28448241/

相关文章:

python - 如何统计子目录下的文件数量?

python - 通过 NumPy 标准化向量场

python - 在 Python 中处理 HTML 以删除和关闭打开标签

Delphi 字典和排序数据

json - 最好将数组,集合或字典用于大量项目?

python - Dict of Dict 到 CSV(带有已定义的 header )

python - Django shell(plus) 远程数据库连接超时

django - 如何通过基于类的 View 添加搜索栏

python-3.x - 如何使用 Amazon SQS 作为 Celery 代理,而不创建/列出队列?

Python 3 : unittest. mock 如何为特定输入指定不同的返回值?