我有一个文本文件,在文本文件中包含这样的数字:
7.2: 2
7.3: 2
6.5: 2
6.4: 6
6.3: 2
7.7: 2
6.1: 3
7.5: 1
7.8: 4
7.9: 1
6.9: 3
6.8: 4
10.1: 8
10.0: 9
10.3: 7
10.2: 10
10.5: 13
10.4: 18
10.7: 8
我想要的是仅使用键对它们进行排序。我无法将它们附加到字典中并仅使用键对其进行排序。这就是我尝试过的。
def sorting():
file = open(r'test.txt', 'r')
text = file.read().split()
keys = {}
for num in text:
if num not in keys:
keys.append(num)
keys.sort(key=float)
json.dump(keys, open('test1.txt', 'r')
sorting()
答案 0 :(得分:0)
您可以读取这些行,将它们在冒号上拆分为元组,使用第二个值对它们进行排序,然后将它们写入输出文件。
示例代码:
with open('input.txt', 'r') as in_file:
lines = sorted((l.split(": ") for l in in_file.readlines()), key=lambda l: float(l[0]))
with open('output.txt', 'w') as out_file:
for line in lines:
out_file.write(": ".join(line))