Python 为列表中的项强制索引的方法?

Python 为列表中的项强制索引的方法?,python,list,dictionary,Python,List,Dictionary,我设置了一个脚本,在该脚本中,我在给定的目录中搜索包含“封面”、“简历”和“参考资料”的pdf文件,将它们插入列表,然后合并它们。搜索项如下所示,其中键是搜索项,值是应插入列表的索引: searchTerms = {"cover": 0, "resume":1, "references":2} 初始列表如下所示: pdfsToBeMerged = ["placeholder", "placeholder", "placeholder"] 在我搜索了所有文件并将它们附加到此列表

我设置了一个脚本,在该脚本中,我在给定的目录中搜索包含“封面”、“简历”和“参考资料”的pdf文件,将它们插入列表,然后合并它们。搜索项如下所示,其中键是搜索项,值是应插入列表的索引:

searchTerms = {"cover": 0,
    "resume":1,
    "references":2}
初始列表如下所示:

pdfsToBeMerged = ["placeholder", "placeholder", "placeholder"]
在我搜索了所有文件并将它们附加到此列表后,我循环遍历列表并删除所有“占位符”项。然后合并这些文件


我想知道的是,是否有一个Python函数能够以某种方式自动化这个“占位符”步骤?就像一个函数,它将插入一个searchTerm并将其附加到其索引处的空白列表中,并将其保留在那里。例如,如果首先找到一个“references”文件,它将被附加到索引2,并且无论是否找到其他文件,它都将保持在那里

这并不是您真正想要的解决方案,但包含占位符可能不是什么大问题

一种更干净的方法是:

# 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]

这并不是您真正想要的解决方案,但包含占位符可能不是什么大问题

一种更干净的方法是:

# 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]
列一份清单:

pdfsToBeMerged = [[], [], []]
然后您可以将附加到正确的列表中

for term in searchTerms.keys()
    if term in filetext:
        pdfsToBeMerged[searchTerms[term]].append(filename)
列一份清单:

pdfsToBeMerged = [[], [], []]
然后您可以将附加到正确的列表中

for term in searchTerms.keys()
    if term in filetext:
        pdfsToBeMerged[searchTerms[term]].append(filename)