排序时读取两个数字而不是第一个整数

JJA

我正在尝试对文本文件中的数据进行排序并将其显示在python中。

到目前为止,我有:

                text_file = open ("Class1.txt", "r")
                data = text_file.read().splitlines()

                namelist, scorelist = [],[]
                for li in data:
                    namelist.append(li.split(":")[0])
                    scorelist.append(li.split(":")[1])
                scorelist.sort()
                print (scorelist)
                text_file.close()

它对数据进行排序,但是只读取第一个数字:

['0', '0', '10', '3', '3', '5']

它将10读为“ 1”

这是我的文本文件的样子:

Harry:3
Jarrod:10
Jacob:0
Harold:5
Charlie:3
Jj:0
米吉尔森

因为scorelist是一个字符串列表,所以"10"出现在前面,"3"因为in中的第一个字符"10"小于in中的第一个字符"3"(字典排序-如字典中的单词)。这里的技巧是告诉python对整数排序。你可以做,因为其他的答案指出,通过排序整数列表,而不是一个字符串列表,或者您可以使用key到排序功能:

scorelist.sort(key=int)

这告诉python将项目排序为整数而不是字符串。这里的好处是您根本不需要更改数据。您仍然最终得到的是字符串列表,而不是整数列表-您只是告诉python更改其比较字符串的方式。整洁的。


演示:

>>> scorelist = ['3', '10', '0', '5', '3', '0']
>>> scorelist_int = [int(s) for s in scorelist]
>>>
>>> scorelist.sort(key=int)
>>> scorelist
['0', '0', '3', '3', '5', '10']
>>>
>>> scorelist_int.sort()
>>> scorelist_int
[0, 0, 3, 3, 5, 10]

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数字反转程序仅给出输出的第一个数字,而不是整数

来自分类Dev

numpy-按第一个数组的单轴对两个ndarray进行排序

来自分类Dev

For循环前进两个数字而不是一个

来自分类Dev

如何对任何两个匹配的数字或第一个数字比第二个数字小的字符串进行grep?

来自分类Dev

程序查找并打印后两个数字均为奇数的第一个完美平方(i * i)

来自分类Dev

RegEx捕获两个数字之间的第一个字符串

来自分类Dev

对两个数组进行排序,以便第二个数组排序基于第一个

来自分类Dev

对第一个数字按降序对文件中的数字进行冒泡排序

来自分类Dev

如何将第一个数字(如果不是最大的数字)与整数中的最大数字交换

来自分类Dev

排序时如何忽略第一个单词

来自分类Dev

是否可以将0作为第一个数字存储在整数变量中

来自分类Dev

Bash shell 脚本从多行变量返回第一个数字/整数?

来自分类Dev

使用第一个数字作为枢轴的快速排序算法

来自分类Dev

Bash ::如何根据文件的第一个数字列排序?

来自分类Dev

如何在C ++中从文件中读取第一个数字

来自分类Dev

读取用户输入的第一个数字

来自分类Dev

在python中读取文件,不跳过第一个数字

来自分类Dev

两个从属数组,需要按第一个的元素排序

来自分类Dev

Python:基于无类型的第一个对两个列表进行排序

来自分类Dev

共同的第一个字段比较两个排序的文件

来自分类Dev

Vanilla JavaScript:如何使两个随机数的第二个数字始终高于第一个

来自分类Dev

在排序数组中找到一个是另外两个数字之和的数字

来自分类Dev

两个数组的第一个公用数均为100万

来自分类Dev

合并两个数据框并根据公共列选择第一个条目

来自分类Dev

需要一个程序要求用户输入2个整数,检查第二个数字是否是第一个数字的倍数

来自分类Dev

从变量中提取第一个数字

来自分类Dev

如何替换第一个数字?

来自分类Dev

只比较元组的第一个数字

来自分类Dev

Python:当第一个数组排序时,如何使第二个数组的索引匹配第一个数组的索引?

Related 相关文章

  1. 1

    数字反转程序仅给出输出的第一个数字,而不是整数

  2. 2

    numpy-按第一个数组的单轴对两个ndarray进行排序

  3. 3

    For循环前进两个数字而不是一个

  4. 4

    如何对任何两个匹配的数字或第一个数字比第二个数字小的字符串进行grep?

  5. 5

    程序查找并打印后两个数字均为奇数的第一个完美平方(i * i)

  6. 6

    RegEx捕获两个数字之间的第一个字符串

  7. 7

    对两个数组进行排序,以便第二个数组排序基于第一个

  8. 8

    对第一个数字按降序对文件中的数字进行冒泡排序

  9. 9

    如何将第一个数字(如果不是最大的数字)与整数中的最大数字交换

  10. 10

    排序时如何忽略第一个单词

  11. 11

    是否可以将0作为第一个数字存储在整数变量中

  12. 12

    Bash shell 脚本从多行变量返回第一个数字/整数?

  13. 13

    使用第一个数字作为枢轴的快速排序算法

  14. 14

    Bash ::如何根据文件的第一个数字列排序?

  15. 15

    如何在C ++中从文件中读取第一个数字

  16. 16

    读取用户输入的第一个数字

  17. 17

    在python中读取文件,不跳过第一个数字

  18. 18

    两个从属数组,需要按第一个的元素排序

  19. 19

    Python:基于无类型的第一个对两个列表进行排序

  20. 20

    共同的第一个字段比较两个排序的文件

  21. 21

    Vanilla JavaScript:如何使两个随机数的第二个数字始终高于第一个

  22. 22

    在排序数组中找到一个是另外两个数字之和的数字

  23. 23

    两个数组的第一个公用数均为100万

  24. 24

    合并两个数据框并根据公共列选择第一个条目

  25. 25

    需要一个程序要求用户输入2个整数,检查第二个数字是否是第一个数字的倍数

  26. 26

    从变量中提取第一个数字

  27. 27

    如何替换第一个数字?

  28. 28

    只比较元组的第一个数字

  29. 29

    Python:当第一个数组排序时,如何使第二个数组的索引匹配第一个数组的索引?

热门标签

归档