【问题标题】:How to shortly add 1 to several variables in Python?如何在 Python 中为多个变量快速添加 1?
【发布时间】: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


【解决方案1】:

在 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/

【讨论】:

    【解决方案2】:

    如果您只是在寻找一个速记单行,您可以使用; 来分隔语句:

    a+=1; b+=2
    

    【讨论】:

      【解决方案3】:

      映射它

      a,b=map((lambda x,y:x+y),*((a,b),(1,2)))
      

      但不短

      【讨论】:

      • 不反对(因为我实际上更喜欢这个答案作为对其他人的警告),但是真的
      • 虽然此代码可能会为问题提供解决方案,但最好添加有关其工作原理/方式的上下文。这可以帮助未来的用户学习并将这些知识应用到他们自己的代码中。在解释代码时,您也可能会得到用户的积极反馈/赞成。
      猜你喜欢
      • 2019-03-29
      • 2012-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 2020-12-20
      相关资源
      最近更新 更多