gpt4 book ai didi

python - 匹配列表中的项目 - Python

转载 作者:太空宇宙 更新时间:2023-11-03 19:09:34 25 4
gpt4 key购买 nike

所以我知道如何匹配两个列表中的项目,但我好奇的是如何链接两个匹配项。例如,我有一个基于浏览器的应用程序,并使用 Jinja2 作为我的模板语言。

我的程序提取 PDF 文件列表,其中也有相应的 XML 文件。 (这些文件的命名类似,即 foo.xml 包含 foo.pdf 的数据)PDF 文件列表显示在页面上,当用户单击 PDF 列表中的文件名称时,该文件的 XML数据(如果存在)将显示在一个小弹出窗口中。

所以,我想我的问题是,如何连接这些点并指定要显示的正确的 xml 文件,因为 col_list[0] 并不总是会显示相同的文件?

下面是我创建 pdf 文件列表的代码:

 col_list = '<li class="ui-widget-content">'.join('%s</li>' % (os.path.splitext(filename)[0])
for filename in listfiles
if filename.endswith('.pdf')
)

谢谢!

编辑:

我将给出一个不同的例子,希望不那么令人困惑。

列表“A”是不断变化的 PDF 文件列表(foo.pdf、bar.pdf 等)
列表“B”是一个不断变化的 XML 文件列表,其名称与列表“A”相同(foo.xml、bar.xml 等)

我正在循环遍历两个列表,并创建变量对于每个列表。如果这些列表相同,我可以简单地调用 list_b[0] 来获取第一个文件(也将是第一个 PDF)的 xml 数据。但是,由于某些 PDF 还没有 XML 文件,因此列表的顺序不匹配。假设 list_b[0]foo.xmllist_a[3]foo.pdf 我怎样才能当列表的顺序不断变化时,告诉 Python 我想要 foo.pdf 的 XML 数据?

抱歉造成困惑。

最佳答案

如果我理解正确的话:您想使用一组 XML 文件名,并查找它们:

pdfs = ['a.pdf', 'b.pdf', 'c.pdf', 'd.pdf']
xmls = ['a.xml', 'd.xml', 'b.xml']

xml_set = set(xmls)

result = []
for pdf in pdfs:
xml = pdf.replace('.pdf', '.xml')
if xml in xml_set:
result.append('Matched %s to %s' % (pdf, xml))
else:
result.append("%s doesn't have a corresponding XML file" % (pdf,))

print result

关于python - 匹配列表中的项目 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13462637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com