Python 赋值和使用在同一行

Noo*_*oob 5 python assign

我试图为一个谜题创建一个尽可能短的代码,当我尝试做这样的事情时,我想到了一个问题:

zip(l=[1,2,3,4,5],l[1:])

所以我想知道,有没有办法生成一个值,将其分配给一个变量并在同一行/函数调用上使用该变量?

编辑:为了澄清事情,我知道这个东西不推荐也不好,也不会产生更快的结果。此外,问题的本质是在同一函数调用中分配和重用同一变量。该列表是使用输入生成的,此处的静态列表仅用于示例。在这种情况下,我想避免在某个地方已经产生结果的情况下重复相同的任务两次。

Kas*_*mvd 2

这是一种 hack,但不是 pythonic。实际上,由于您所需要的只是在全局名称空间中创建一个对象,因此您可以简单地通过您想要的对象更新名称空间。

>>> zip(globals().update(a=[1, 2, 3]) or a, a[1:])
[(1, 2), (2, 3)]
Run Code Online (Sandbox Code Playgroud)

由于该update()属性返回 None,因此其or与对象的逻辑将是对象本身。