gpt4 book ai didi

python - 如何在python中定义一个临时变量?

转载 作者:太空狗 更新时间:2023-10-30 01:12:54 25 4
gpt4 key购买 nike

python 是否具有“临时”或“非常本地化”的变量功能?我正在寻找单行线,我想保持我的可变空间整洁。

我想做这样的事情:

...a, b, and c populated as lists earlier in code...
using ix=getindex(): print(a[ix],b[ix],c[ix])
...now ix is no longer defined...

变量 ix 将在一行之外未定义。

也许这段伪代码更清晰:

...a and b are populated lists earlier in code...
{ix=getindex(); answer = f(a[ix]) + g(b[ix])}

其中 ix 不存在于括号之外。

最佳答案

推导式和生成器表达式有它们自己的范围,所以你可以把它放在其中之一:

>>> def getindex():
... return 1
...
>>> a,b,c = range(2), range(3,5), 'abc'
>>> next(print(a[x], b[x], c[x]) for x in [getindex()])
1 4 b
>>> x
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined

但您真的不必担心这类事情。这是 Python 的卖点之一。

对于使用 Python 2 的用户:

>>> print next(' '.join(map(str, [a[x], b[x], c[x]])) for x in [getindex()])
1 4 b

考虑使用 Python 3,这样您就不必将 print 作为语句处理。

关于python - 如何在python中定义一个临时变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39386837/

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