簡體   English   中英

TypeError: 'tuple' object 在交換值時不支持項目分配

[英]TypeError: 'tuple' object does not support item assignment when swapping values

我正在 python 中編寫一個簡單的排序程序並遇到此錯誤。 我想交換列表元素,但它返回一個錯誤。 我在下面附上了有問題的錯誤和程序。

list[i+1] = list[i]
TypeError: 'tuple' object does not support item assignment

代碼:

def my_sort(list):
    for index in range(1,len(list)):
        value=list[index]
        i=index-1
        while i>=0:
            if value<list[i]:
                list[i+1] = list[i]
                list[i]=value
                i=i-1
            else:
                break
    return

    input_list=eval(input("Enter list items"))
    my_sort(input_list)
    print(input_list)

評估 "1,2,3" 的結果是(1, 2, 3) ,一個tuple 正如您所發現的,元組是不可變的。 處理前轉換為列表。

或者簡單地分配整個元組本身,而不是更改元組內的元素。

示例:想要將 'count' 添加到 'i-th' 元組的第一個元素:

tup[i] = (tup[i][0] + count, tup[i][1])

對於任何在谷歌上搜索此錯誤的人:檢查代碼中是否有不需要的逗號。 例如,

arr = np.zeros(n),
arr[i] = something

會拋出這個錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM