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

如何合并输出列表为单一列表并去除空元素?

解决方法

你现在的问题是没把目标字符串收集到同一个列表里,而是逐个打印单个字符串,导致输出不是统一的列表格式。按下面的代码修改就能得到你想要的结果:

# 初始化空列表存储结果
result = []
# 遍历清理后的字符串,逐个添加到列表中
for i in soup.find(class_="body").stripped_strings:
    result.append(i)
# 打印最终的单一列表
print(result)

也可以用更简洁的列表推导式写法:

result = [i for i in soup.find(class_="body").stripped_strings]
print(result)

为什么之前的方法无效?

  • 你原来的循环是逐个打印每个字符串的repr形式,输出的是多个独立的带引号字符串,而非完整的列表结构。
  • 使用zip函数时,若错误传入单个字符串,它会把字符串拆成单个字符打包,自然得到仅含单个字母的元素——zip是用来合并多个可迭代对象的,这里完全用错了场景。

另外,stripped_strings本身会自动过滤空字符串或全空白的字符串,所以最终列表里不会出现空元素,正好匹配你的期望输出。

内容的提问来源于stack exchange,提问作者Jan Alar Alesmaa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:01:37