gpt4 book ai didi

python - 在字典理解中订阅 locals() 失败并出现 KeyError

转载 作者:太空宇宙 更新时间:2023-11-03 13:09:33 25 4
gpt4 key购买 nike

<分区>

我一直对 Python locals() 的奇怪行为感到困惑。
基本上我想在字典理解中从 locals() 的字典中获取一个项目,但它失败了。这是一个非常基本的事情,所以:

>>> foo=123
>>> bar=345
>>> baz=678
>>> {k: locals()[k] for k in ('foo','bar','baz')}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <dictcomp>
KeyError: 'foo'
>>> locals()['foo']
123
>>> locale=locals()
>>> {k: locale[k] for k in ('foo','bar','baz')}
{'foo': 123, 'bar': 345, 'baz': 678}
>>> type(locals())
<class 'dict'>
>>> def fun():
... return {'foo': 123,'bar':345}
...
>>> {k: fun()[k] for k in ('foo','bar')}
{'foo': 123, 'bar': 345}

在实践方面,更丑陋的 {'foo':foo, 'bar': bar} 等在字典或字符串 .format() 中工作正常。
只是我错过了一些东西,所以知道为什么会增加我的编码气(截至目前,我在编码时不会发光)。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com