假设您要将值的字典传递给函数,或者希望使用不会被重用的短期字典.有两种简单的方法可以做到这一点:
使用该dict()函数创建字典:
foo.update(dict(bar=42, baz='qux'))
Run Code Online (Sandbox Code Playgroud)
使用匿名词典:
foo.update({'bar': 42, 'baz': 'qux'})
Run Code Online (Sandbox Code Playgroud)
你喜欢哪个?选择一个而不是个人风格有其他原因吗?
Dav*_*ebb 17
我更喜欢匿名dict选项.
由于我不喜欢的dict()原因,我不喜欢这个选项:
i = int("1")
Run Code Online (Sandbox Code Playgroud)
使用该dict()选项,你不必要地调用一个增加开销的函数,你不需要:
>>> from timeit import Timer
>>> Timer("mydict = {'a' : 1, 'b' : 2, 'c' : 'three'}").timeit()
0.91826782454194589
>>> Timer("mydict = dict(a=1, b=2, c='three')").timeit()
1.9494664824719337
Run Code Online (Sandbox Code Playgroud)
我想在这个特定的情况下我可能更喜欢这个:
foo.update(bar=42, baz='qux')
Run Code Online (Sandbox Code Playgroud)
在更一般的情况下,我经常更喜欢文字语法(你称之为匿名字典,尽管它使用{}时也是匿名使用dict()).我认为这对维护程序员(通常是我)来说更清楚,部分原因是它在语法高亮的文本编辑器中脱颖而出.它还确保当我必须添加一个不能表示为Python名称的键时,就像有空格的东西一样,那么我不必去重写整行.
| 归档时间: |
|
| 查看次数: |
14728 次 |
| 最近记录: |