Python - 读取文件和排序信息的功能

时间:2014-10-30 19:03:25

标签: python sorting file-read

餐厅分拣。文本文件scores.txt包含一系列当地餐馆评级。每一行都是这样的:

餐厅名称:评级

我正在尝试编写一个程序来读取该文件,然后按餐厅的字母顺序吐出评分。

这些是scores.rtf文件的内容:

Pancho Villa:3
Andalu:3
Urbun Burger:1
El Toro:5
Casa Thai:2
Taqueria Cancun:2
Little Baobab:1
Charanga:3
Irma's Pampanga:5
Bay Blend Coffee and Tea:3
Giordano Bros:2
Two Amy's: 5
Chef Geoff: 3

我不知道从哪里开始。

2 个答案:

答案 0 :(得分:2)

让我们考虑一下。您有一个常规格式的输入:名称和值,以冒号:分隔。您需要打开该文件并读取每一行,然后这一行拆分为两部分,即名称和值。考虑哪种数据结构最适合保存这些值。阅读完文件并关闭后,您只需按字母顺序排序数据结构,然后打印输出内容即可。够容易吗?

答案 1 :(得分:0)

import operator
with open('scores.txt') as infile:
    for stuff in sorted([line.strip().split(":") for line in infile], key=lambda iGotThisFromStackOverflow: [operator.itemgetter(0)(iGotThisFromStackOverflow)][0]):
        print(stuff)