我对解包参数列表有点困惑。我正在尝试以编程方式制作 XSL-FO 文件,因此需要在文件中的某个位置插入可变数量的元素。当然,我可以通过其他方式(XML/XSLT、其他 XML 方法等)执行此操作,但我想知道为什么这不起作用,因为我对 Python 的基本知识可能有点生疏。就在“RIGHT HERE”处,我试图将我的 column_elms 列表插入为可变数量的参数。请注意,这不需要一个列表,并且如果我复制下一行的内容(E("table-column...),
实际上,它确实会产生所需的输出(多个table-column
元素。但是打开它,它只会给我一个table-column
元素)怎么回事‽‽‽</p>
from lxml.builder import ElementMaker
from lxml import etree as ET
COLUMNS = 8
E = ElementMaker(namespace='http://www.w3.org/1999/XSL/Format',
nsmap={'fo':"http://www.w3.org/1999/XSL/Format"})
column_elms = [E("table-column",{"column-width":"41mm"})] * COLUMNS
root = E("root",
E("layout-master-set",
E("simple-page-master",
{"master-name":"label-sheet",
"margin-left":"5mm",
"margin-right":"5mm",
"margin-top":"14mm",
"margin-bottom":"14mm"},
E("region-body"))),
E("page-sequence",
{"master-reference":"label-sheet"},
E("flow", {"flow-name":"xsl-region-body"},
E("table", *column_elms # **RIGHT HERE**
# E("table-column",{"column-width":"41mm"}),
))))