python-3.x - Python过滤列表,删除\'n'和空字符串
问题描述
我有一个列表,我尝试删除空字符串和 '\n'
re = ['\n', '\n', '0 / 6\n', '1 / 6\n', '2 / 6\n', '3 / 6\n', '4 / 6\n', '5 / 6\n', '6 / 6\n', '\n', 'mobile\n']
resul = map(str.rstrip, re)
print(list(resul))
str_list = filter(None, list(resul))
print(list(str_list))
输出 :
['', '', '0 / 6', '1 / 6', '2 / 6', '3 / 6', '4 / 6', '5 / 6', '6 / 6', '', 'mobile']
[]
所以,第一个输出是正确的,我成功删除了\n
,但是当我想删除空的 strinf 之后,列表是空的。
解决方案
从列表中取出所有非\n
值并\n
通过列表理解删除:
re = ['\n', '\n', '0 / 6\n', '1 / 6\n', '2 / 6\n', '3 / 6\n', '4 / 6\n', '5 / 6\n', '6 / 6\n', '\n', 'mobile\n']
print([x.replace('\n', '') for x in re if x != '\n'])
# ['0 / 6', '1 / 6', '2 / 6', '3 / 6', '4 / 6', '5 / 6', '6 / 6', 'mobile']
推荐阅读
- java - 如何为 Jpanel 实现缩放?
- javascript - 如何设置httpreferer?
- spring - 弹簧配置 uri
- python - 构建 python 脚本以创建 SharePoint 文档库的目录结构树
- google-play - 更改项目位置后,SHA1 不起作用
- android - Play 商店拒绝 READ_SMS 权限
- spring - 构建项目时出错,包 org.springframework.boot.test.web.client 不存在。为什么?
- mysql - Mysql多表查询搜索相同ID
- python - 在数据分析之前删除列
- docker - 如何将 docker-swarm(容器化基础设施)分离到测试和生产环境中?