我得到了一个 .txt 文件,其中充满了这种结构的很多行。
["saelyth", 17896, 96511, 4733, "0", "F00", "0", 11, 1, "ffg, ghks"]
["example", 765, 3873, 342, "000", "F63", "5", 15, 1, "ffg"]
["whatever", 158, 756, 36, "000", "000", "0", 13, 0, "ffg, jdhs"]
["okay", 12680, 64548, 4469, "000", "0CC", "1", 15, 9, "ffg"]
["randomname", 5668, 30105, 1752, "0", "360", "0", 14, 7, "ffg"]
["something", 24798, 132792, 5764, "000", "000", "0", 12, 3, "ffg"]
到目前为止,我一直在使用 json.loads 逐行加载。但是现在我想使用 value[3] 作为键来排在列表的前 10 位(按升序排列)。
我该怎么做?我在谷歌上搜索 sorted 的工作原理,但我认为我不能在不破坏列表并仅提取该值的情况下使用它,然后我无法在 Top10 打印中显示正确的列表:\
我尝试将其转换为元组,但它不保存文件,也不知道为什么。
leyendotop10 = open("textfiles\estadisticas\Estadisticas.txt", "r")
top10leido = leyendotop10.read()
leyendotop10.close()
print("Readed")
atuple1 = top10leido.replace("[", "(")
atuple2 = atuple1.replace("]\n", "), ")
listitaglobaldetop10 = []
listitaglobaldetop10.append(atuple2)
print("Fixed")
sorted(listitaglobaldetop10, key=lambda stats: stats[1])
print("Ordered")
grabandotop10 = open("textfiles\estadisticas\top10.txt", "a")
grabandotop10.write(str(listitaglobaldetop10))
grabandotop10.close()
print("Saved")
有什么想法或更简单的方法来做我想做的事情吗?
信息: IDLE 3.3.2 和文本文件包含 4300 个列表。