代码之家  ›  专栏  ›  技术社区  ›  Cristian Diaconescu

Python:如何更改tuple的(最后)元素?

  •  8
  • Cristian Diaconescu  · 技术社区  · 14 年前

    这个问题有点误导,因为元组是 . 我想要的是:

    有元组的 a = (1, 2, 3, 4) 获取元组 b a 除了最后一个论点,比方说,是最后一个元素的两倍 .

    =>b==(1,2,3,8)

    3 回复  |  直到 14 年前
        1
  •  22
  •   Ivo    14 年前
    b = a[:-1] + (a[-1]*2,)
    

    我在这里做的是两个元组的串联,第一个元组包含除最后一个元素以外的所有元素,另一个元组包含最后一个元素的变异。结果是一个包含所需内容的新元组。

    注意,对于 + 要返回元组,两个操作数都必须是元组。

        2
  •  7
  •   SiggyF    14 年前

    我会这样做:

    b=list(a)
    b[-1]*=2
    b=tuple(b)
    
        3
  •  5
  •   Fabian Fagerholm    14 年前

    >>> a = (1, 2, 3, 4)
    >>> b = a[:-1] + (a[-1]*2, )
    >>> a
    (1, 2, 3, 4)
    >>> b
    (1, 2, 3, 8)
    

    你可以把这个和你的具体情况联系起来。