如何修复';元组';对象不支持Python中的项分配问题

如何修复';元组';对象不支持Python中的项分配问题,python,sorting,Python,Sorting,我正在从头开始构建一个合并分类器,因为我对它的工作方式很感兴趣,但我遇到了一个元组问题。这意味着什么?我如何修复它 我最近开始学习Python3的基础教程和解决简单的问题 def MergeSort(alist): if len(alist)>1: mid = len(alist)//2 leftHalf = alist[:mid] rightHalf = alist[mid:] MergeSort(leftHalf

我正在从头开始构建一个合并分类器,因为我对它的工作方式很感兴趣,但我遇到了一个元组问题。这意味着什么?我如何修复它

我最近开始学习Python3的基础教程和解决简单的问题

def MergeSort(alist):
    if len(alist)>1:
        mid = len(alist)//2
        leftHalf = alist[:mid]
        rightHalf = alist[mid:]

        MergeSort(leftHalf)
        MergeSort(rightHalf)
        i = 0
        j = 0
        k = 0
        while i<len(leftHalf) and j<len(rightHalf):
            if(leftHalf[i] < rightHalf[j]):
                alist[k] = rightHalf[i]
                i+= 1
            else:
                alist[k] = rightHalf[j]
                j += 1 
            k += 1

        while i<len(leftHalf):
            alist[k] = leftHalf[i]
            i += 1 
            k += 1 

        while j<len(rightHalf):
            alist[k] = rightHalf[j]
            j+= 1 
            k+= 1 
alist = (343, 543653, 643, -543, 534, -543234, 5432, 1232)
MergeSort(alist)
print(alist)
def合并排序(列表):
如果len(alist)>1:
mid=len(alist)//2
leftHalf=alist[:mid]
rightHalf=alist[中间:]
合并排序(左半部分)
合并排序(右半部分)
i=0
j=0
k=0

而元组在Python中是不可变的。您应该将列表设置为允许变异:

alist = [343, 543653, 643, -543, 534, -543234, 5432, 1232]