【问题标题】:Attripute error- 'tuple' object has no attribute 'append'属性错误 - \'tuple\' 对象没有属性 \'append\'
【发布时间】:2022-08-02 22:46:48
【问题描述】:

所以我有这个代码。

def add_segment(self, position):
    new_segment = Turtle(\"square\")
    new_segment.color(\"green\")
    new_segment.penup()
    new_segment.goto(position)
    self.segments.append(new_segment),

它出现了一个属性错误,说明 \'tuple\' 对象没有属性 \'append\'

  • self.segments 是如何定义的?似乎是一个元组,但打算成为一个列表
  • 显然self.segments 是一个元组,而元组是不可变的。您不能附加到它们。如果您希望能够添加到列表中,请将其设为列表。

标签: python


【解决方案1】:

元组是一个有序的集合不可改变的. 如果要更改它,请使用列表或字典类型。

【讨论】:

    【解决方案2】:

    可以像这样附加到元组:

    def append(t, val):
        t = t + (val,)
        return t
    

    然后你可以调用self.segments 来创建/更新你的元组。

    【讨论】:

      【解决方案3】:

      元组是不可变的数据类型。这就是为什么您不能将数据附加到它的原因。如果您必须将数据附加到 self.segments,请尝试以下操作:

      self.segments=(list(self.segments)).append(new_segment)

      希望这可以帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-17
        • 2021-05-26
        相关资源
        最近更新 更多