我正在努力学习Python,并密切关注常见的编码标准。这可能看起来像是一个毫无意义的吹毛求疵的问题,但我正试图在学习的过程中专注于最佳实践,这样我就不必在以后改掉任何“坏”习惯。
我看到了两种常用的初始化dict的方法:
a = {
'a': 'value',
'another': 'value',
}
b = dict(
a='value',
another='value',
)
哪一个被认为是“更多的蟒蛇”?你用哪一种?为什么?
发布于 2010-05-18 07:48:52
大括号。将关键字参数传递到dict()
中,尽管它在许多场景中都能很好地工作,但只有在键是有效的Python标识符时才能初始化映射。
这是可行的:
a = {'import': 'trade', 1: 7.8}
a = dict({'import': 'trade', 1: 7.8})
这是行不通的:
a = dict(import='trade', 1=7.8)
它将导致以下错误:
a = dict(import='trade', 1=7.8)
^
SyntaxError: invalid syntax
发布于 2010-05-18 07:42:21
第一个是大括号。否则,您会遇到带有奇数字符的密钥的一致性问题,如=
。
# Works fine.
a = {
'a': 'value',
'b=c': 'value',
}
# Eeep! Breaks if trying to be consistent.
b = dict(
a='value',
b=c='value',
)
发布于 2013-02-20 01:51:37
我认为第一个选项更好,因为您将以‘a’或‘’another‘的形式访问值。字典中的键是字符串,没有理由假装它们不是。对我来说,关键字语法乍看起来很聪明,但再看起来就晦涩难懂了。这只在你使用__dict__
的时候才有意义,关键字稍后会变成属性,就像这样。
https://stackoverflow.com/questions/2853683
复制相似问题