You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python循环并递增生成带编号的XML问答节点

问题:生成带递增编号的问答XML节点

现有Python代码

linenum = 1
for g in u.answers:
    attr = ""
    lines.append("\t\t<answer%s>%s</answer>" % (attr, g[0]))
    linenum += 1

当前生成的XML内容

<xml>
    <answer>Primary Job Function</answer>
    <answer>Engineering</answer>
    <answer>Size of Company</answer>
    <answer>100</answer>
    <answer>Job Level</answer>
    <answer>Manager</answer>
    <answer>Type of Company</answer>
    <answer>Supplier</answer>
<xml>

期望生成的XML内容

<xml>
    <question1>Primary Job Function</question1>
    <answer1>Engineering</answer1>
    <question2>Size of Company</question2>
    <answer2>100</answer2>
    <question3>Job Level</question3>
    <answer3>Manager</answer3>
    <question4>Type of Company</question4>
    <answer4>Supplier</answer4>
</xml>

修改后的代码

linenum = 1
# 每两个元素为一组遍历(对应问题+回答)
for i in range(0, len(u.answers), 2):
    lines.append(f"\t\t<question{linenum}>{u.answers[i][0]}</question{linenum}>")
    lines.append(f"\t\t<answer{linenum}>{u.answers[i+1][0]}</answer{linenum}>")
    linenum += 1

代码说明

  • 用range(0, len(u.answers), 2)实现按问题+回答的组来遍历,刚好匹配你要的成对节点结构
  • 改用f-string格式化字符串,比原来的%格式化更直观,方便插入编号
  • 每组遍历后递增linenum,保证question和answer的编号一一对应且连续递增

内容的提问来源于stack exchange,提问作者user1787060

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 04:40:36