代码之家  ›  专栏  ›  技术社区  ›  user273032

Xpath合并两条树

  •  1
  • user273032  · 技术社区  · 9 年前

    我有两个电话:

    teamName = tree.xpath('//span[@class="name matchwinner"]/text()')
    teamMatch = tree.xpath('//a[@class="match"]/@href')
    

    目前我得到了两个数组,一个是团队名称,另一个是hrefs。有没有办法得到类似[team1,href1,team2,href2]的东西?

    1 回复  |  直到 9 年前
        1
  •  0
  •   alecxe    9 年前

    我怀疑每个球队的名字和比赛都有相同的父母。如果是这样,您可以执行以下操作:

    for team in tree.xpath("//div[@class='game']"):
        teamName = team.xpath('.//span[@class="name matchwinner"]/text()')[0]
        teamMatch = team.xpath('.//a[@class="match"]/@href')[0]
    
        print(teamName, teamMatch)
    

    或者,您也可以使用 zip() 按索引将名称和匹配项分组:

    teamName = tree.xpath('//span[@class="name matchwinner"]/text()')
    teamMatch = tree.xpath('//a[@class="match"]/@href')
    
    print(list(zip(teamName, teamMatch)))