当使用d ={}初始化字典时,Pycharm的代码检查器会生成一个警告,即
这个字典创建可以重写为字典字面量。
如果我重写d = dict()警告就消失了。因为{}已经是一个字典字面量,我很确定这个消息是错误的。此外,d ={}和d = dict()似乎都是有效的并且是Pythonic的。
这个相关的问题似乎得出的结论是,选择只是风格/偏好的问题:
d = dict()与d ={}的区别
为什么Pycharm会抱怨d = {}?
更新:
麦克做到了。该警告实际上适用于多行,而不仅仅是被标记的那行。
Pycharm似乎在寻找一个连续的语句序列,在其中初始化一个字典,然后在字典中设置值。例如,这将触发警告:
d = {}
d['a'] = 1
但这段代码不会:
d = {}
pass
d['a'] = 1
对于那些喜欢(就像我一样)用单个操作初始化字典的人
d = {
'a': 12,
'b': 'foo',
'c': 'bar'
}
而不是许多行喜欢
d = dict()
d['a'] = 12
d['b'] = ....
最后我得出了这个结论:
d = dict()
d.update({
'a': 12,
'b': 'foo',
'c': 'bar'
})
Pycharm对此并没有抱怨
对于那些喜欢(就像我一样)用单个操作初始化字典的人
d = {
'a': 12,
'b': 'foo',
'c': 'bar'
}
而不是许多行喜欢
d = dict()
d['a'] = 12
d['b'] = ....
最后我得出了这个结论:
d = dict()
d.update({
'a': 12,
'b': 'foo',
'c': 'bar'
})
Pycharm对此并没有抱怨