Python 排序压缩列表-为什么10000000在9之前?
我目前正在尝试对邮政编码列表进行排序-我编写的代码如下所示:Python 排序压缩列表-为什么10000000在9之前?,python,list,sorting,Python,List,Sorting,我目前正在尝试对邮政编码列表进行排序-我编写的代码如下所示: sorted_list = list(sorted(zip(list_a, list_b))) 据我所知,这与: unsorted_list = zip(list_a, list_b) sorted_list = sorted(unsorted_list, key=lambda x: x[0]) 我的目标是根据列表a中的值对列表进行排序。此列表包含大约50000行,并包含从0到100(无重复)的选择值,然后跳转到10005135和
sorted_list = list(sorted(zip(list_a, list_b)))
据我所知,这与:
unsorted_list = zip(list_a, list_b)
sorted_list = sorted(unsorted_list, key=lambda x: x[0])
我的目标是根据列表a中的值对列表进行排序。此列表包含大约50000行,并包含从0到100(无重复)的选择值,然后跳转到10005135和40610839等值
我运行这段代码时遇到的问题是,它的编号顺序如下:1、10、100、10000000、40000000、41、42等等
如何对列表进行排序,使所有这些值都真正按升序排列
提前感谢您的帮助
list_a = list(map(int, list_a))
list_a.sort()
list_b = list(map(int, list_b))
list_b.sort()
sorted_list = list(sorted(zip(list_a, list_b)))
print(sorted_list)
首先需要将列表中的每个元素转换为int,然后需要对其进行排序。元素是字符串吗?是的,列表中的元素是字符串,排序正确。在继续获取数字顺序之前,请转换为INT或float类型。谢谢-这确实是问题所在。。!