Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 内置排序功能不起作用_Python - Fatal编程技术网

Python 内置排序功能不起作用

Python 内置排序功能不起作用,python,Python,如果文本文件中的数据小于10(例如4,2,3,1),它将相应地对数据进行排序。但是,如果数据大于10(例如(3199,4,5),它将按199,3,4,5排序,而不是按升序排序。请帮助 def readFile(): try: fileName = open("haha.txt",'r') data = fileName.read().split() data.sort() print

如果文本文件中的数据小于10(例如4,2,3,1),它将相应地对数据进行排序。但是,如果数据大于10(例如(3199,4,5),它将按199,3,4,5排序,而不是按升序排序。请帮助

def readFile():
        try:
            fileName = open("haha.txt",'r')
            data = fileName.read().split()
            data.sort() 
            print(data)

        except IOError:
                    print("Error: File do not exist")
                    return

您正在按字母顺序对字符串进行排序,
1
字符的值低于
3
字符。将
,key=int
添加到排序函数将解决此问题

data.sort(key=int)

您正在按字母顺序对字符串进行排序,
1
字符的值低于
3
字符。将
,key=int
添加到排序函数将解决此问题

data.sort(key=int)

由于
数据中的项目是字符串,因此可以通过以下方式将项目转换为整数:

data = [int(item) for item in data]

由于
数据中的项目是字符串,因此可以通过以下方式将项目转换为整数:

data = [int(item) for item in data]

哇!你在一个广泛使用的软件中发现了一个完全明显的bug!!或者…可能不是。正如其他人所说的,问题是你正在排序字符串,而<代码>排序可能不像你预期的那样。作为一个普遍的规则,你可能会考虑每当你发现你在一个广泛的领域发现了明显的bug。使用过的软件,可能是你对软件的理解有误。在40多年的软件开发过程中,我发现了非常、非常少的实际错误。然而,我在理解过程中发现了很多很多错误。YMMV。祝你好运。哇!你在一个广泛使用的软件中发现了一个非常明显的错误!!或者…也许吧不,这个问题,正如其他人所说的,是在对字符串进行排序,而<代码>排序可能不像你所期望的那样。作为一个一般规则,你可能会想,当你认为你在一个广泛使用的软件中发现了明显的bug时,可能是你对软件的理解错了。40多年的软件开发我发现了非常非常少的实际错误。然而,我在理解中发现了很多很多错误。YMMV。祝你好运。谢谢你,先生。这帮了大忙!谢谢你,先生。这帮了大忙!