lat*_*ish 4 python dictionary input python-internals
如果我运行以下代码:
a={}
a[input("key: ")] = input("value: ")
Run Code Online (Sandbox Code Playgroud)
口译员首先提示我a value input然后是key input.
这背后的原因是什么?
通常,内部表达式的顺序永远不会得到保证.在你的情况下发生的是,解释器首先找出需要放入字典的内容,然后找出它应该放在哪里.从翻译的角度来看,这是更优化的顺序.
因为在输入('值')调用期间可能会发生某些事情,例如异常或者您可以简单地终止您的程序.那么为什么要在找到实际拥有它之前找到它的价值呢?
如果您关心订单,您应该执行以下操作:
key = input('key')
a[key] = input('value')
Run Code Online (Sandbox Code Playgroud)