能否将states.txt中的列表转为Python可用的list数据结构?
解决方法
不需要直接复制粘贴,用Python可以轻松读取并转换成目标列表,下面给两种实用方法:
方法一:逐行手动处理
适合对文件格式熟悉的情况,一步步清理无关内容:
with open('states.txt', 'r', encoding='utf-8') as f: lines = f.readlines() states_list = [] for line in lines: # 去掉每行前后的空白字符(换行、空格等) clean_line = line.strip() # 跳过不需要的行:开头的定义行、结尾的方括号、省略号行 if clean_line in ('state =[', ']', '. . .'): continue # 去掉州名前后的单引号和末尾的逗号 state_name = clean_line.strip("',") states_list.append(state_name) # 现在states_list就是你要的格式 print(states_list)
方法二:正则表达式提取
更简洁,直接匹配所有被单引号包裹的州名:
import re with open('states.txt', 'r', encoding='utf-8') as f: file_content = f.read() # 匹配所有单引号内的内容 states_list = re.findall(r"'(.*?)'", file_content) # 过滤掉可能混入的省略号(如果文件里的...是用引号包着的话) states_list = [name for name in states_list if name != '. . .'] print(states_list)
两种方法都能生成你需要的['Alabama', 'Alaska', ..., 'Wyoming']格式的列表,不用手动复制内容到py文件里。
内容的提问来源于stack exchange,提问作者xQT314
相关产品推荐
相关产品推荐

