如何将含换行符的字符数组合并为按换行分隔的元素数组?
解决Python数组按换行符合并元素的问题
你现在的guest_list把每个字符拆成了列表元素,还混着\n,想要把\n分隔的段落合并成单个元素对吧?咱们分两种场景来解决,一种直接处理你现有的拆分后列表,另一种优化你的原始文件读取流程,一步到位更高效~
方法一:直接处理已有的guest_list数组
先把列表里的所有字符拼接成完整字符串,再按换行符拆分,最后过滤掉可能的空内容(比如文件末尾的换行):
guest_list = ['P', 'r', 'o', 'f', '.', ' ', 'P', 'l', 'u', 'm', '\n', 'M', 'i', 's', 's', ' ', 'S', 'c', 'a', 'r', 'l', 'e', 't', '\n', 'C', 'o', 'l', '.', ' ', 'M', 'u', 's', 't', 'a', 'r', 'd', '\n', 'A', 'l', ' ', 'S', 'w', 'e', 'i', 'g', 'a', 'r', 't', '\n', 'R', 'o', 'b', 'o', 'c', 'o', 'p'] # 拼接所有字符为完整文本 full_text = ''.join(guest_list) # 按换行拆分,同时清理首尾空白并过滤空行 result = [item.strip() for item in full_text.split('\n') if item.strip()] print(result) # 输出: ['Prof. Plum', 'Miss Scarlet', 'Col. Mustard', 'Al Sweigart', 'Robocop']
方法二:优化原始文件读取代码(更高效)
看你原始代码用了pyperclip绕了一圈,其实完全没必要,直接读取文件时就能处理好:
# 用with语句自动管理文件关闭,更安全 with open('guests.txt', 'r') as ogl: # 读取所有行,自动按换行拆分,清理每行空白并过滤空行 guest_list = [line.strip() for line in ogl.readlines() if line.strip()] print(guest_list) # 直接得到你想要的结果: ['Prof. Plum', 'Miss Scarlet', 'Col. Mustard', 'Al Sweigart', 'Robocop']
这个方法跳过了“把每个字符拆成列表”的冗余步骤,从源头上解决问题,效率更高~
内容的提问来源于stack exchange,提问作者Chicken Sandwich No Pickles
相关产品推荐
相关产品推荐

