我正在尝试编写一段代码来构建 XML 文件,该文件必须包含大约 1000 行有关合作伙伴的数据。
我想从 list_a 第一项中获取循环,并将其与 list_b 的第一项进行匹配。第二个接着第二个,依此类推。
list_a = ['aaa', 'bbb', 'ccc']
list_b = ['ddd', 'eee', 'fff']
list_c = ['ggg', 'hhh', 'iii']
list_d = ['jjj', 'kkk', 'lll']
这是我尝试过的代码。无法从循环中找到正确的中断,因此代码可以给出正确的 XML 文本。
for item_a in list_a:
print('<Partners>')
print(' <ExternalCode>', end='')
print(item_a, end='')
print('</ExternalCode>')
for item_b in list_b:
print(' <ShortName>', end='')
print(item_b, end='')
print('</ShortName>')
for item_c in list_c:
print(' <Name>', end='')
print(item_c, end='')
print('</Name>')
for item_d in list_d:
print(' <PartnerGroupCode>', end='')
print(item_d, end='')
print('</PartnerGroupCode>')
print('</Partners>')
代码必须提供如下 XML 文本:
<Partners>
<ExternalCode>String 33</ExternalCode>
<ShortName>String 34</ShortName>
<Name>String 35</Name>
<PartnerGroupCode>String 36</PartnerGroupCode>
</Partners>
<Partners>
<ExternalCode>String 37</ExternalCode>
<ShortName>String 38</ShortName>
<Name>String 39</Name>
<PartnerGroupCode>String 40</PartnerGroupCode>
</Partners>
如果我的理解是正确的,您想按以下方式将所有相应元素分组到列表中?
list_a = ['aaa', 'bbb', 'ccc']
list_b = ['ddd', 'eee', 'fff']
list_c = ['ggg', 'hhh', 'iii']
list_d = ['jjj', 'kkk', 'lll']
for i in range(len(list_a)):
print('<Partners>')
print(' <ExternalCode>' + list_a[i] + '</ExternalCode>')
print(' <ShortName>' + list_b[i] + '</ShortName>')
print(' <Name>' + list_c[i] + '</Name>')
print(' <PartnerGroupCode>' + list_d[i] + '</PartnerGroupCode>')
print('</Partners>')
输出
<Partners>
<ExternalCode>aaa</ExternalCode>
<ShortName>ddd</ShortName>
<Name>ggg</Name>
<PartnerGroupCode>jjj</PartnerGroupCode>
</Partners>
<Partners>
<ExternalCode>bbb</ExternalCode>
<ShortName>eee</ShortName>
<Name>hhh</Name>
<PartnerGroupCode>kkk</PartnerGroupCode>
</Partners>
<Partners>
<ExternalCode>ccc</ExternalCode>
<ShortName>fff</ShortName>
<Name>iii</Name>
<PartnerGroupCode>lll</PartnerGroupCode>
</Partners>
从一组列表中获取第 i 个元素的另一种通用方法是 python zip 函数。
for a, b, c, d in zip(list_a, list_b, list_c, list_d):
print('<Partners>')
print(f' <ExternalCode>{a}</ExternalCode>')
print(f' <ShortName>{b}</ShortName>')
print(f' <Name>{c}</Name>')
print(f' <PartnerGroupCode>{d}</PartnerGroupCode>')
print('</Partners>')