[英]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.