如果使用{}
只是快捷方式,则 to dict()
,用于创建dict
. 所以我想知道如何创建一个dict
包含无效关键字参数的键,例如等1
,"1foo2bar3"
而不使用大括号或方括号(参考下面的代码)并坚持dict()
?
下面的代码不是一个选项:
a = dict()
a[1] = 1
如果使用{}
只是快捷方式,则 to dict()
,用于创建dict
. 所以我想知道如何创建一个dict
包含无效关键字参数的键,例如等1
,"1foo2bar3"
而不使用大括号或方括号(参考下面的代码)并坚持dict()
?
下面的代码不是一个选项:
a = dict()
a[1] = 1
您的意思是使用默认的 dict 构造函数来创建字典?
>>> a = dict((x, x) for x in range(10))
>>> a
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}
它需要一个元组集合,并将其转换为字典,通常与上面的生成器表达式结合使用——但您也可以给它一个预先准备好的元组集合。
>>> dict([(1, 1), ('a', 'a')])
{'a': 'a', 1: 1}
使用您的示例:
>>> dict([(1, None), ("1foo", None), ("foo2bar3", None)])
{1: None, '1foo': None, 'foo2bar3': None}
{}
不是dict()
. 除了长度差异之外,它在性能方面是一个捷径。
你最好使用字典文字,除非你需要支持不包含它们的真正旧版本的 Python,或者如果你正在做某种列表或其他理解来使用 Python < 2.7 的版本构建字典(因为小于 2.7 的 Python 版本不支持 dict 理解 [ie {x: y for x, y in some_iterable}
],我相信)。