有没有一种简单/本地的方法可以在Python中一次增加多个值?

时间:2020-06-25 11:55:35

标签: python python-3.x

我想这样做:

def ret():
    return 1, 1

a, b = 1, 1
a, b += ret()

print(a, b)

>>> 2, 2

如果您想进一步集中精力,只需:

a, b = 1, 1
a, b += 1, 1

这当然会导致错误:

SyntaxError:扩展分配的非法表达式

有什么本机的方法吗?

2 个答案:

答案 0 :(得分:1)

不,没有语法糖。 但是,您可以轻松定义一个函数来执行此操作:

import operator


def multi_update(init, update, op=operator.iadd):
    return (op(x, y) for x, y in zip(init, update))


a, b = 1, 1
a, b = multi_update((a, b), (1, 1))
print(a, b)
# 2 2

答案 1 :(得分:0)

不,您不能一次对多个变量提供扩充分配。

请阅读此解决方案:

Python augmenting multiple variables inline