如果您只想按名称、章节和经文进行单一排序,那么您可以设置一个排序,将所有这三件事一起用作排序的键,或者您可以使用“稳定排序”和排序按诗句,然后按章节,然后按名称。
这是 Python 中的伪代码。这是真正的 Python 代码,只是我没有定义parse_code()
, get_name()
,get_chapter()
或get_verse()
.
lst = []
for x in parse_code(input_file):
name = get_name(x)
chapter = get_chapter(x)
verse = get_verse(x)
tup = (name, chapter, verse)
lst.append(tup)
lst.sort() # will automatically do what you want
当您有一个由元组组成的列表,并且您对列表进行排序时,Python 将根据元组中的第一项进行排序,然后是第二项,然后是第三项。
另一方面,如果您尝试构建三个不同的索引,也许最简单的实现是将数据存储在数据库中,并为每个名称、章节和经文放置一个索引。您可以将 SQLite 用于数据库;对于一个圣经文本大小的项目,我认为它会很好用。