Сортировка со списком кажется довольно естественной.Вы сортируете строки (data.split('\n')
) по значению с плавающей точкой в конце каждой строки (float(line.split()[-1]
) и получаете нисходящий порядок с ключевым словом reverse
.
data = """seventy-five 0.050
states 0.719
drainage-basin 0.037
scotland 0.037
reading 0.123
thirty-eight 0.000
almost 0.037
rhine 0.000
proper 0.037
contrary 0.087"""
result = "\n".join(
sorted(data.split("\n"), key=lambda s: float(s.split()[-1]), reverse=True)
)
print(result)
# states 0.719
# reading 0.123
# contrary 0.087
# seventy-five 0.050
# drainage-basin 0.037
# scotland 0.037
# almost 0.037
# proper 0.037
# thirty-eight 0.000
# rhine 0.000
Если у вас есть список с отвращениемВы можете использовать инструменты командной строки, такие как sort .