python - 获取值并追加到一个列表,然后追加到另一个列表
问题描述
所以我正在使用 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)
但它返回的是单个值列表,而不是列表列表。请问有什么帮助吗?
解决方案
您的缩进在最后一行关闭,您需要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