类型错误:'tuple'对象不支持交换值时的项目赋值
我正在用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)
3 个回答
4
如果你在网上搜索这个错误,记得检查一下你的代码里有没有多余的逗号。
比如说,
arr = np.zeros(n),
arr[i] = something
这样就会出现这个错误。
8
或者直接把整个元组赋值,而不是去改变元组里面的某个元素。
举个例子:如果你想把'count'加到第'i'个元组的第一个元素上:
tup[i] = (tup[i][0] + count, tup[i][1])
114
把"1,2,3"这个东西评估一下,结果会得到(1, 2, 3)
,这是一种叫做tuple
的东西。正如你发现的,元组是不能改变的。在处理之前,先把它转换成列表。