如何从列表中移除空字符串?代码执行未达预期问题求助
移除列表中含双引号的空字符串问题
你的列表里的'""'不是真正的空字符串,而是包含双引号的非空字符串。strip()方法默认只去除字符串两端的空白字符(比如空格、换行符),对双引号不起作用,所以ele.strip()判断时,'""'去掉空白后还是'""',布尔值为True,自然不会被过滤掉。
解决方案
方案1:直接匹配要移除的字符串
如果确定要移除的就是'""',直接判断元素是否等于该字符串即可:
lst = [ele for ele in lst if ele != '""'] print(lst) # 输出: ['live']
方案2:移除引号后判断空值
如果列表中还有其他类似带引号的空内容(比如"''"),可以指定strip()的参数为引号,先去掉所有引号再判断是否为空:
lst = [ele for ele in lst if ele.strip('"\'')] print(lst) # 输出: ['live']
⚠️ 注意:不要用list作为变量名,这是Python的内置类型,会覆盖原有功能,建议改用lst这类名称。
内容的提问来源于stack exchange,提问作者user19375409
相关产品推荐
相关产品推荐

