【问题标题】:How Python dictionaries are executed?Python 字典是如何执行的?
【发布时间】:2017-09-08 07:27:11
【问题描述】:

如果我运行以下代码:

a={}
a[input("key: ")] = input("value: ")

解释器首先提示我value input,然后是key input

这背后的原因是什么?

【问题讨论】:

标签: python dictionary input python-internals


【解决方案1】:

通常无法保证内部表达式的顺序。在您的情况下发生的情况是,解释器首先找出需要放入字典的内容,然后找出应该将其放入的位置。从解释器的角度来看,这是更优化的顺序。

因为在 input('value') 调用期间可能会发生某些事情,例如异常,或者您可以简单地终止您的程序。那么,在你真正拥有它之前,为什么还要费心去寻找把那个值放在哪里呢。

如果您确实关心订单,您应该执行以下操作:

key = input('key')
a[key] =  input('value')

【讨论】:

    【解决方案2】:

    来自docs

    Python 从左到右计算表达式。请注意,虽然 评估分配,右侧在评估之前评估 左侧。

    【讨论】:

      猜你喜欢
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      • 2019-09-29
      • 1970-01-01
      • 2021-08-05
      • 2020-10-06
      • 2019-09-21
      • 1970-01-01
      相关资源
      最近更新 更多