Py学习  »  Lolrenz Omega  »  全部回复
回复总数  1
3 年前
回复了 Lolrenz Omega 创建的主题 » 有没有更好的方法在python中为文档的标题和子标题创建索引?

你可以使用 split('-') 查找标题级别的方法:

subs_amount = an_ele.split('-')

你可以从标题的长度推断标题的级别 subs_amount 列表如果长度为1,则为a "heading" .如果是3,那就是 "sub-sub-heading" 等 然后,列出一个清单 store_levels 如Tim Roberts在评论中所说,要存储更高级别的前几个标题的索引:

if len(subs_amount) > len(store_levels):
    store_levels.append(1) #add a sub-level
elif len(subs_amount) == len(store_levels):
    store_levels[-1] += 1 #add a heading of the same level
else:
    del store_levels[-1] #go back to the level above

现在,为了建立输出,你只需要 "_".join(store_levels) 并将其附加到输出中。


抱歉,没有使用与您相同的变量名。我这样做是为了不混淆或改变它们的用途。我希望我的代码足够清晰,这样你就可以实现它。