【问题标题】:Most efficient way to assign a value of zero to multiple variables at once一次将零值分配给多个变量的最有效方法
【发布时间】:2012-07-24 15:27:16
【问题描述】:

我正在尝试将变量初始化为零,所以它目前看起来像这样

x1,y1,x2,y2=(0,0,0,0)

它有效,但似乎有点多余。有没有更清洁的方法?

【问题讨论】:

    标签: python


    【解决方案1】:

    这实际上是对元组进行解包。你可以这样做:

    x1 = y1 = x2 = y2 = 0
    

    不要对可变对象这样做!

    【讨论】:

    • 对于那些不理解警告的人,试试这个:a=b=[]a.append(1)。现在,如果你以前没有看过这个:b==[1].
    • 我可以这样做来设置可变对象的属性,并且稍后对一个对象进行编辑不会影响另一个对象吗?我的预感是我可以。例如,我可能想使用 df1.columns = df2.columns = ('a', 'b', 'c') 更改两个单独的 Pandas DataFrame 对象的标签。
    【解决方案2】:

    我通常会这样做

    x1 = y1 = x2 = y2 = 0
    

    但是,这并不重要。两个版本一目了然。

    【讨论】:

      【解决方案3】:

      为了清楚起见,我个人会使用 Jon 或 Sven 的答案,但作为替代答案,您可以为此使用 itertools

      import itertools
      x1,y1,x2,y2 = itertools.repeat(0,4)
      

      可变对象的警告仍然适用!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-27
        • 2018-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-22
        • 1970-01-01
        相关资源
        最近更新 更多