我写了一个简短的程序来读取一个文本文件,其中包括我喜欢的恐怖电影的名字,它们的发行日期,以及我对它们的评价(每部电影都用冒号隔开)。然后,它会使用str.格式(). 我想知道的是如何对输出进行排序,比如按发布日期或评级。以下是我所拥有的:
with open('filename', 'r') as fh:
for each_line in fh:
(title, date, rating)=each_line.split(':')
print('{0:^40} {1:^10} {2:^7}'.format(title, date, rating)
我只是想知道如何在格式化输出中引入排序;我只是想搞不懂。我是Python新手并自学,这个简单的——我确定——这个问题让我难住了。在
如有任何提示,将不胜感激。在
谢谢
如果你想对它们进行排序,就不能在循环时打印它们:显然,在排序之前必须知道每个值。在
我建议首先将整个文件的内容加载到一个列表中:
然后你可以按你想要的任何键进行排序。按等级排序:
^{pr2}$请注意,您需要转换为
datetime
,以便按日期正确排序。在然后,您可以循环浏览这些已排序的电影并打印:
稍微紧凑一点:
相关问题 更多 >
编程相关推荐