如何将文本文件中的列表拆分为数字、动物、声音三个指定列表
解决方案
可以通过逐行读取文件内容并拆分每行元素,来分别构建三个独立列表。以下是优化后的代码:
def main(): numbers = [] animals = [] sounds = [] with open('animals.txt') as animal_file: # 逐行读取文件内容 for line in animal_file: # 去除换行符并按空格拆分每行的三个元素 parts = line.strip().split() # 将元素分别添加到对应列表 numbers.append(parts[0]) animals.append(parts[1]) sounds.append(parts[2]) print("数字列表:", numbers) print("动物列表:", animals) print("声音列表:", sounds) main()
代码说明
- 先初始化三个空列表
numbers、animals、sounds,用于存储对应类型的数据 - 用
for line in animal_file逐行读取文件,这种方式更高效,也避免一次性读取大文件占用过多内存 - 对每行执行
strip()去除首尾空白(包括换行符),再用split()按空格拆分出三个元素 - 将拆分后的每个元素分别追加到对应的列表中
- 原代码里导入的
os和linecache模块没有实际作用,可以直接删除,减少不必要的依赖
运行结果
执行后会输出:
数字列表: ['2', '3', '4', '5', '6', '7', '8', '9'] 动物列表: ['pig', 'duck', 'horse', 'lamb', 'chickens', 'dog', 'cat', 'cow'] 声音列表: ['oink', 'quack', 'neigh', 'baa', 'cluck', 'woof', 'meow', 'moo']
内容的提问来源于stack exchange,提问作者SmokedQuartz1
相关产品推荐
相关产品推荐

