餐厅分拣。文本文件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
我不知道从哪里开始。
答案 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)