繁体   English   中英

将字符串与list元素连接在一起仅返回最后一个元素

[英]concatenating a string with elements of list returns only the last element

我正在使用BeutifulSoup从html文件中提取某些数据,当我应用以下代码作为最终结果时,即标记子级列表的所有元素的连接,我仅在歌词中得到了final元素。变量。

        lyrics = ""
        for content in songResult.children:
            if "br" in str(content):
                continue                  
            lyrics += str(content)
        print(lyrics)

子级是br标签或songResult标签中的文本。 我忽略了br标签,并尝试使用print(content)而不是lyrics += str(content)然后打印效果完美。 我似乎无法找出问题的根源。 有什么建议吗?

对我来说很好。 我做了:

lyrics = ""

children = ['testbr', 'test', 'testbr2', 'test', 'testbr3']

for content in children:
    if "br" in str(content):
        continue
    lyrics += str(content)
    print('in loop'),
    print(lyrics)

print('out of loop'),
print(lyrics)

上面的代码段对您有用吗?

确保此代码不在另一个循环中,以使“歌词”未重置为“”。 这将导致您描述的症状(在if语句中打印出来很好,但是“歌词”仅包含最后一个变量)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM