我在python中编写一个简单的排序程序并遇到此错误.我想交换列表元素,但它返回错误.我正在附上下面的错误和程序.
list[i+1] = list[i]
TypeError: 'tuple' object does not support item assignment
Run Code Online (Sandbox Code Playgroud)
码:
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)
Run Code Online (Sandbox Code Playgroud)
Ign*_*ams 73
评估"1,2,3"导致(1, 2, 3)
,a tuple
.正如您所发现的,元组是不可变的.在处理之前转换为列表.
或者简单地分配整个元组本身,而不是更改元组内的元素。
示例:想要将“count”添加到“i-th”元组的第一个元素:
tup[i] = (tup[i][0] + count, tup[i][1])
Run Code Online (Sandbox Code Playgroud)