[英]How to sort the contents of a list?
我有以下列表:
filenames=["SecretOfChimneys_1925.txt",
"DeathInTheClouds_1935.txt",
"SparklingCyanide_1945.txt",
"HickoryDickoryDock_1955.txt",
"AtBertramsHotel_1965.txt",
"Curtain_1975.txt"]
books=[]
for filename in filenames:
with open(filename) as fin:
text=fin.read()
books.append(text)
我需要列出按年份排序的书名,删除下划线字符和年份。 例如,第一本书的标题应该是“SecretOfChimneys”。 调用您的列表书名。
有没有办法使用书名已经按年份排序的事实,而只是 select 的瓷砖?
或者我应该使用带有文件名的排序算法?
任何帮助将不胜感激,谢谢!
排序时可以使用 lambda 作为键。 然后使用列表推导从排序列表中仅提取标题。
booktitles = [f.split('_')[0] for f in
sorted(filenames, key=lambda x: int(x.split('_')[1].split('.')[0]))
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.