为什么可以在列表理解的变量中修改python字典?

问题描述 投票:0回答:0

从一个关于 Oneliner-izer 的惊人(和邪恶)视频中,我了解到可以在列表理解的变量中修改 Python 字典。我尝试运行以下代码:

some_dict = dict()
some_dict['x'] = 1
return_value = [999 for some_dict['x'] in [42]][0]

我很清楚

return_value
现在应该是
999
,但为什么
some_dict['x']
现在应该是
42
?列表理解语法如何合法?更别说修改了
some_dict
?

python obfuscation language-features
© www.soinside.com 2019 - 2024. All rights reserved.