如何用Python将含数值范围的文本文件转为列表变量?
实现方法
以下是直接可用的Python代码,能处理你描述的范围转整数列表需求:
# 读取目标文本文件(替换成你的文件路径) with open('numbers.txt', 'r', encoding='utf-8') as file: raw_content = file.read().strip() # 拆分所有条目,同时清理每个条目前后的空格 number_entries = [entry.strip() for entry in raw_content.split(',')] final_numbers = [] for entry in number_entries: # 判断当前条目是单个数字还是范围 if '-' in entry: # 拆分范围的起始和结束值,转为整数 start_num, end_num = map(int, entry.split('-')) # 生成范围内所有整数(range左闭右开,所以end_num要+1) final_numbers.extend(range(start_num, end_num + 1)) else: # 单个数字直接转整数加入列表 final_numbers.append(int(entry)) # 查看结果 print(final_numbers)
代码说明
- 文件读取:用
with语句保证文件自动关闭,strip()去除文本首尾的空白(比如换行符、多余空格)。 - 条目拆分:按逗号分割文本,再逐个清理条目前后的空格,避免
' 19'或'27-28 '这类带空格的干扰。 - 范围处理:遇到含
'-'的条目,拆分出起始和结束数字,用range生成完整的整数序列(注意range(start, end)不包含end,所以要写成end_num + 1才能覆盖到结束值),再用extend把序列中的所有数加入结果列表。 - 单个数字处理:没有短横线的条目直接转成整数,用
append加入列表。
内容的提问来源于stack exchange,提问作者tivikitoes
相关产品推荐
相关产品推荐

