按后缀排序列表
Posted
技术标签:
【中文标题】按后缀排序列表【英文标题】:Sort list by suffix 【发布时间】:2021-07-15 19:47:41 【问题描述】:我想学习如何按特定字符串结尾对我的纯文本文件进行排序,在本例中为后缀“ly”:
aback
abaft
abandonedly
abashedly
abeam
abed
abhorrently
...
从这个列表中提取和/或拆分所有以“ly”结尾的单词,它应该类似于以下内容:
aback
abaft
abeam
abed
...
abandonedly
abashedly
abhorrently
注意:
新列表是否附加到旧列表中并不重要。 我希望我的列表保持按字母顺序排序,如果 可能。我愿意使用编程语言、命令行或服务。事实是,根据我之前的在线研究,我无法确定哪种方法最有效或最简单地完成这种排序。
【问题讨论】:
【参考方案1】:Python 中的解决方案:
with open("input.txt", "r") as f_in:
lines = sorted(map(str.strip, f_in), key=lambda k: (k.endswith("ly"), k))
with open("output.txt", "w") as f_out:
print("\n".join(lines), file=f_out)
来自input.txt
:
aback
abaft
abandonedly
abashedly
abeam
abed
abhorrently
创建output.txt
:
aback
abaft
abeam
abed
abandonedly
abashedly
abhorrently
【讨论】:
以上是关于按后缀排序列表的主要内容,如果未能解决你的问题,请参考以下文章