如何遍历按'\n'拆分的字符串列表,将非'r'/'i'开头的字符串与前一个拼接?
解决意外换行导致的列表条目混乱问题
这问题我太熟了!处理这种因为原始文本里的意外换行,导致用\n拆分后列表条目被拆碎的情况,咱们用一个简单的遍历拼接逻辑就能搞定。直接上Python代码示例,完美匹配你的需求:
# 假设这是你的原始拆分后的列表 original_list = [ 'rs386834028,46662406,1,No summary provided.,http://www.snpedia.com/index.php/Rs386834028', 'some broken line that got split', 'rs12345,123456,2,Another valid entry...', 'i9876,654321,3,Third entry starts with i', 'oops, this line was split too' ] fixed_list = [] for item in original_list: # 先去除前后空白,再判断首字符是否为'r'或'i'(兼容大小写) cleaned_item = item.strip() if cleaned_item.lower().startswith(('r', 'i')): fixed_list.append(cleaned_item) else: # 确保结果列表不为空时才拼接,避免索引错误 if fixed_list: fixed_list[-1] += f' {cleaned_item}' # 输出处理后的结果 print(fixed_list)
代码说明:
strip():处理每个条目前后的空格或换行残留,避免拼接后出现多余空白lower().startswith(('r', 'i')):兼容大小写的判断,不管是R/I还是r/i开头的条目都能被识别为有效起始条目- 非有效起始条目会直接拼接到结果列表的最后一个元素后面,用空格分隔保证内容可读性
- 加了
if fixed_list的判断,防止第一个条目就不符合规则时出现索引越界的问题
如果你的数据里不需要兼容大小写,直接去掉.lower()就行,非常灵活!
内容的提问来源于stack exchange,提问作者Betsy
相关产品推荐
相关产品推荐

