我正在努力学习Python,并密切关注常见的编码标准.这似乎是一个毫无意义的吹毛求疵的问题,但我在学习的过程中努力专注于最佳实践,所以我以后不必忘记任何"坏"习惯.

我看到两种常用的初始化dict的方法:

a = {
    'a': 'value',
    'another': 'value',
}

b = dict( 
    a='value',
    another='value',
)

哪一个被认为是"更多的Python "?你用哪一种?为什么?

推荐答案

花括号.将关键字参数传递到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

Python相关问答推荐

是否有使用纯霍夫曼编码的现代图像格式?

双情节在单个图上切换-pPython

日程优化问题不知道更好的方式来呈现解决方案- Python / Gekko

合并其中一个具有重叠范围的两个框架的最佳方法是什么?

使用Python OpenCV的文本检测分割

Plotly:如何更改Heatmap中彩色条的勾选文本

为什么dict(id=1,**{id:2})有时会引发KeyMessage:id而不是TypMessage?

NumPy中的右矩阵划分,还有比NP.linalg.inv()更好的方法吗?

实现的差异取决于计算出的表达是直接返回还是首先存储在变量中然后返回

添加包含中具有任何值的其他列的计数的列

剧作家Python没有得到回应

Class_weight参数不影响RandomForestClassifier不平衡数据集中的结果

Pandas 滚动最接近的价值

如何让剧作家等待Python中出现特定cookie(然后返回它)?

' osmnx.shortest_track '返回有效源 node 和目标 node 的'无'

Python,Fitting into a System of Equations

如何从数据库上传数据到html?

Django—cte给出:QuerySet对象没有属性with_cte''''

使用Python从rotowire中抓取MLB每日阵容

替换现有列名中的字符,而不创建新列