首页 > 解决方案 > 获取值并追加到一个列表,然后追加到另一个列表

问题描述

所以我正在使用 BS4 报废,我想在不同的列表中获取每一行值,然后将所有这些列表合并到一个列表中。

目前我正在这样做:

team_values = []
teams_values = []
for team in team_rows:
    team_data = team.find_all("td")

    for data in team_data:
        if hasattr(data, 'attrs') and 'data-val' in data.attrs:
            #print("\t{}".format(data.attrs['data-val']))
            value = data.attrs['data-val']
            #print(value)
            team_values.append(value)
            #print(team_values)
teams_values.append(team_values)

但它返回的是单个值列表,而不是列表列表。请问有什么帮助吗?

标签: python

解决方案


您的缩进在最后一行关闭,您需要team_values在进入第二个for循环之前重置

teams_values = []
for team in team_rows:
    team_data = team.find_all("td")

    team_values = []                 # reset here  
    for data in team_data:
        if hasattr(data, 'attrs') and 'data-val' in data.attrs:
            #print("\t{}".format(data.attrs['data-val']))
            value = data.attrs['data-val']
            #print(value)
            team_values.append(value)
            #print(team_values)
    teams_values.append(team_values)        # add indentation here

推荐阅读