在解包元组时是否有一种简单的 pythonic 方法来增加变量?
Is there a simple pythonic way to increase variables while unpacking a tuple?
我想做这样的事情:
a,b,c,d = 1,2,3,4
a,b,c,d += 2,4,6,8
但这不起作用。我知道我可以单独增加它们,但我认为会有更简单的方法。我想出的唯一选择是这个丑陋的列表理解:
a,b,c,d = [j+k for idxj,j in enumerate((a,b,c,d)) for idxk,k in enumerate((2,4,6,8)) if idxj==idxk]
有没有更好的方法?
zip
,一般来说:
a, b, c, d = [x + y for x, y in zip((a, b, c, d), (2, 4, 6, 8))]
但还有我们的朋友分号:
a += 2; b += 4; c += 6; d += 8
自行决定是否换行。
我想做这样的事情:
a,b,c,d = 1,2,3,4
a,b,c,d += 2,4,6,8
但这不起作用。我知道我可以单独增加它们,但我认为会有更简单的方法。我想出的唯一选择是这个丑陋的列表理解:
a,b,c,d = [j+k for idxj,j in enumerate((a,b,c,d)) for idxk,k in enumerate((2,4,6,8)) if idxj==idxk]
有没有更好的方法?
zip
,一般来说:
a, b, c, d = [x + y for x, y in zip((a, b, c, d), (2, 4, 6, 8))]
但还有我们的朋友分号:
a += 2; b += 4; c += 6; d += 8
自行决定是否换行。