[英]Way to force index for item in list?
我设置了一个脚本,在该脚本中,通过给定目录搜索包含“ cover”,“ resume”和“ references”的pdf文件,将它们插入列表中,然后合并它们。 搜索词如下所示,其中键是搜索词,值是应将其插入列表的索引:
searchTerms = {"cover": 0,
"resume":1,
"references":2}
初始列表如下所示:
pdfsToBeMerged = ["placeholder", "placeholder", "placeholder"]
搜索完文件并将它们附加到此列表之后,我遍历该列表并删除所有“占位符”项。 这些文件然后合并。
我想知道是否有Python函数可以某种方式自动执行“占位符”步骤? 就像将插入searchTerm并将其附加到其索引的空白列表并保留在其中的函数一样。 例如,如果首先找到一个“引用”文件,它将被附加到索引2,并且无论是否找到其他文件,都将保留在那里。
列出清单:
pdfsToBeMerged = [[], [], []]
然后,您可以append
到正确的列表。
for term in searchTerms.keys()
if term in filetext:
pdfsToBeMerged[searchTerms[term]].append(filename)
这实际上并不是您可能想要的解决方案,但是包含占位符可能不是什么大问题。
一种更干净的方法是:
# Initialize with None instead of "placeholder"
pdfs_to_be_merged = [None] * 3
# Insertion as usual
pdfs_to_be_merged[index] = pdf
# Get the cleaned list
[pdf for pdf in pdfs_to_be_merged if pdf is not None]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.