Python中list元素调用strip()、rstrip()无法删除换行符如何解决?
问题解答
问题成因
你使用的strip()、rstrip()方法仅会处理整个字符串首尾位置的空白、换行符,不会作用于字符串内部的字符。你列表中的每个元素是包含多行的完整序列块,行与行之间的换行符属于字符串中间的内容,因此调用上述方法不会产生修改效果,输出与原始内容一致。
解决方案
你需要移除元素内部所有换行、空白字符,可根据需求选择以下两种实现方式:
- 方案1:保留序列描述行,仅拼接后续核酸序列为无空白字符串
for item in genelist: lines = item.splitlines() # 提取第一行描述信息 seq_desc = lines[0] # 逐行处理后续序列,去除空白后拼接 pure_seq = ''.join([line.strip() for line in lines[1:]]) # 输出结果 print(seq_desc) print(pure_seq)
- 方案2:直接移除整个元素内的所有换行、空格字符
for item in genelist: processed_str = item.replace('\n', '').replace('\r', '').replace(' ', '') print(processed_str)
内容的提问来源于stack exchange,提问作者Madison Hornstein
相关产品推荐
相关产品推荐

