我想在 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/