Python3中拼接字符串到列表时存在换行符\n问题求助
解决字符串追加到列表的问题:拆分长文本为独立元素
嘿,看你得到的这个列表,里面是一整个带换行的超长字符串对吧?这说明你在追加的时候,是把整个大文本块直接当成一个元素塞进去了,而不是把每一行拆成单独的列表项。我来给你几个简单的解决办法:
拆分现有列表里的长字符串
如果你已经拿到了这个包含长文本的列表,可以用Python的splitlines()方法把里面的字符串按换行符拆分,直接生成每行一个元素的新列表:# 假设你的现有列表是这个 original_list = ['MDAALLLNVEGVKKTILHGGTGELPNFITGSRVIFHFRTMKCDEERTVIDDSRQVGQPMH\nIIIGNMFKLEVWEILLTSMRVHEVAEFWCDTIHTGVYPILSRSLRQMAQGKDPTEWHVHT\nCGLANMFAYHTLGYEDLDELQKEPQPLVFVIELLQVDAPSDYQRETWNLSNHEKMKAVPV\nLHGEGNRLFKLGRYEEASSKYQEAIICLRNLQTKEKPWEVQWLKLEKMINTLILNYCQCL\nLKKEEYYEVLEHTSDILRHHPGIVKAYYVRARAHAEVWNEAEAKADLQKVLELEPSMQKA\nVRRELRLLENRMAEKQEEERLRCRNMLSQGATQPPAEPPTEPPAQSSTEPPAEPP...'] # 拆分后得到每行独立的列表 fixed_list = original_list[0].splitlines()运行后
fixed_list里的每个元素就是原文本的每一行,完全符合你想要的追加后的效果。在追加阶段直接处理文本
如果是你在读取或生成这个文本的时候就想往列表里加,那别直接用append()把整个文本塞进去——append()会把传入的对象当成单个元素。你可以先把文本按行拆分,再用extend()方法把所有行一次性加入列表:target_list = [] # 假设你的原始文本是带换行的内容 raw_text = """MDAALLLNVEGVKKTILHGGTGELPNFITGSRVIFHFRTMKCDEERTVIDDSRQVGQPMH
IIIGNMFKLEVWEILLTSMRVHEVAEFWCDTIHTGVYPILSRSLRQMAQGKDPTEWHVHT
CGLANMFAYHTLGYEDLDELQKEPQPLVFVIELLQVDAPSDYQRETWNLSNHEKMKAVPV
LHGEGNRLFKLGRYEEASSKYQEAIICLRNLQTKEKPWEVQWLKLEKMINTLILNYCQCL
LKKEEYYEVLEHTSDILRHHPGIVKAYYVRARAHAEVWNEAEAKADLQKVLELEPSMQKA
VRRELRLLENRMAEKQEEERLRCRNMLSQGATQPPAEPPTEPPAQSSTEPPAEPP..."""
用extend把拆分后的每行加入列表
target_list.extend(raw_text.splitlines())
这样就不会出现整个文本占一个列表元素的问题了。 简单总结一下:问题出在你把整个带换行的字符串作为单个元素追加了,只要用`splitlines()`拆分文本,再正确用`extend()`(或者逐个`append()`拆分后的行)就能得到每行独立的列表啦。 内容的提问来源于stack exchange,提问作者CluelessCoder
相关产品推荐
相关产品推荐

