从 Python3 获取“'str'对象不支持项目分配”错误

数据乔

我尝试在 Python 中使用文本文件作为我的 Quicksort 函数的输入。事实证明,我收到此错误

TypeError: 'str' object does not support item assignment

我知道错误的发生是因为 Python 中的字符串是不可变的,因此它们无法更改。但是,我不确定如何修复我的代码以使其运行。

我的代码(在 Python 3 中)

import sys
f = open('C:/Users/.../.../Desktop/Test/test1.txt')
array = str(f.read())

def QuickSort(array, starting= 0, ending=len(array)-1):
   
    if starting < ending:
       
       p = Partition(array, starting, ending)
       
       QuickSort(array, starting, p-1)
       Quicksort(array, p+1, ending)
   
def Partition(array, starting, ending):
       Pivo_Index = starting
       Pivot = array[Pivot_Index]
   
       while starting < ending:
           while starting < len(array) and array[starting] <= Pivot:
               starting += 1
           
           while array[ending] > Pivot:
               ending -= 1
           
           if starting < ending:
               array[starting], array[ending] = array[ending], array[starting]
           
       array[ending], array[Pivot_Index] = array[Pivot_Index], array[ending]
       
       return ending

print(QuickSort(array))

我的文本文件如下

12.11.1990 a
01.01.1991 aa
02.02.1992 baa
02.02.1992 aaa
15.07.1999 ytyvm

关于如何修复我的代码的建议?

穆雷尼克

read()返回一个字符串,它是不可变的(因此,如您所见,无法排序)。如果要获取文件中的行列表并对它们进行排序,可以使用array = f.readlines().

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

'str'对象不支持Python中的项目分配

'str'对象不支持Python中的项目分配

Python:TypeError:“ str”对象不支持项目分配

错误:“str”对象不支持项目分配

TypeError:'str'对象不支持项目分配,带有json文件的python

“'str'对象不支持项目分配”

'str'对象不支持项目分配telnetlib

TypeError:'str'对象不支持项目分配,熊猫操作

TypeError:“ str”对象不支持项目分配

Lambda错误“ TypeError:'str'对象不支持项目分配回溯”

在Featuretools中创建实体集错误TypeError:'str'对象不支持项目分配

类型错误:“str”对象不支持迭代中的项目分配

类型错误:“str”对象不支持项目分配熊猫添加列

'range'对象不支持python3中的项目分配

python中数据帧的简单日志:错误:'type'对象不支持项目分配

Python,累加“ itertools.accumulate”对象不支持项目分配错误

Python Azure Databrick:“ DataFrame”对象不支持项目分配

Python 脚本... TypeError: 'method' 对象不支持项目分配

Python TypeError:“类型”对象不支持项目分配

Python,TypeError:“ int”对象不支持项目分配”

Python:TypeError:'int' 对象不支持 MinMaxScaler 的项目分配

Python错误:'int'或'str'不支持'>'和'<'

Python3 CSV writerows,TypeError:“ str”不支持缓冲区接口

Python3:+不支持的操作数类型:“ float”和“ str”

python3类型str不支持缓冲区API

获取错误类型错误:“int”和“str”的实例之间不支持“>”,

获取+的错误不支持的操作数类型:“ int”和“ str”

获取类型错误:输入数字的“str”和“int”实例之间不支持“>”

列表元组的突变获取“'tuple'对象不支持项目分配”