在字典理解Python的作用域(Python scoping in dict comprehensi

2019-07-03 10:12发布

>>> x = 'foo'
>>> {0: locals().get('x')}
{0: 'foo'}
>>> {0: locals().get('x' + spam) for spam in ['']}
{0: None}

什么是这种差异的行为的原因是什么?

Answer 1:

快译通内涵和发电机内涵打造自己的本地范围。 列表解析并不在Python 2.x中,但在Python 3做(请注意,你的第一个例子是不是一个字典理解,这只是一个文字字典,恰好有一个表达式作为关键值为0。)



文章来源: Python scoping in dict comprehension