拆包并增加值

2024-04-25 01:04:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道这是否有可能。我想在解包之后增加这两个值,而不必创建两个temps变量。在多重分配和解包的情况下,这有可能吗?我开始在这里尝试:

a, b = 1, 1                                                                                                                                                                           
for i in [1,2,3]: 
  a, b += 1, 1                                                                                                                                                                      

File "<ipython-input-2-a1e761cf8ae1>", line 2
  a, b += 1, 1
  ^
SyntaxError: illegal expression for augmented assignment
for i in [1,2,3]: 
  a, b += (1, 1)                                                                                                                                                                    

File "<ipython-input-3-9317a6e51de4>", line 2
  a, b += (1, 1)
  ^
SyntaxError: illegal expression for augmented assignment
for i in [1,2,3]: 
  (a, b) += (1, 1)                                                                                                                                                                  

File "<ipython-input-4-446db199ce6f>", line 2
  (a, b) += (1, 1)
   ^
SyntaxError: illegal expression for augmented assignment
for i in [1,2,3]: 
  a += 1 

Tags: inforinputipythonline情况fileaugmented
2条回答

不完全是你想要的,但也许有用。Numpy可以在解包之前轻松地添加这些值。你知道吗

import numpy as np

ar = np.array([1,1])
ar +=  1
a,b = ar

收益率:

(2,2)

也许map能帮你!你知道吗

a,b =1,1
a,b = map(lambda x,y:x+y, [a,b],[1,1])

map() function returns a map object of the results after applying the given function to each item of a given iterable (list, tuple etc.)

相关问题 更多 >