【发布时间】:2021-02-02 20:33:00
【问题描述】:
如果我们有机会这样做:
a, b = 1, 4
也许我们有机会像这样同时迭代几个变量?
a, b += 1, 2
【问题讨论】:
-
不,但你可以
a, b = a+1, b+2 -
或与海象
(a := a + 1), (b := b + 2).
标签: python iteration core digits
如果我们有机会这样做:
a, b = 1, 4
也许我们有机会像这样同时迭代几个变量?
a, b += 1, 2
【问题讨论】:
a, b = a+1, b+2
(a := a + 1), (b := b + 2).
标签: python iteration core digits
在 Python 中通常不赞成将多个语句放在一个语句中,除非它们明显属于一起并且这会增加可读性。在这种情况下,这些都不是真的,所以不要。
使用列表,而不是单独的变量,您可以使用zip 像这样递增:
a = [10, 20]
b = [1, 2]
c = [x + y for x, y in zip(a, b)]
print(c)
# [11, 22]
参考:
Sparse is better than dense.Readability counts.
PEP 20 -- Python 之禅:https://www.python.org/dev/peps/pep-0020/
【讨论】:
如果您只是在寻找一个速记单行,您可以使用; 来分隔语句:
a+=1; b+=2
【讨论】:
映射它
a,b=map((lambda x,y:x+y),*((a,b),(1,2)))
但不短
【讨论】: