问题遇到的现象和发生背景
遇到一个For循环的改写,自己改了一下,发现运行出来的东西不一样
问题相关代码,请勿粘贴截图
原代码:
with open('./data/result/course1.txt') as course:
courses=[line.strip().split(';') for line in course.readlines()]
print(courses)
改写代码;
with open('./data/result/course1.txt') as course:
course_lines = course.readlines()
course_list=[ ]
for course_line in course_lines:
course_list=course_list.append([course_line.strip().split(';')])
print(course_list)
运行结果及报错内容
发现这个改写运行不出来,不知道怎么回事
我的解答思路和尝试过的方法
改写代码没写出来
我想要达到的结果
改写出来的代码运行正确
是报错还是没有结果,不知道你缩进是啥样的,给你改了一下
with open('./data/result/course1.txt') as course:
course_lines = course.readlines()
course_list=[ ]
for course_line in course_lines:
course_list.append([course_line.strip().split(';')])
print(course_list)
course_list=course_list.append([course_line.strip().split(';')]) 这行有两个问题,列表的append方法修改自身,没有返回值,不需要赋值回去。split 方法返回列表,外面不用加[]
改成: course_list.append(course_line.strip().split(';'))
读写文件这一块 需要修改成下面这样就可以读到文件了 。
修改为 with open(file_name, 'r') as course,需要添加'r'表示读取文件
剩下的后边逻辑不知道你什么需求没做太多修改
with open('./data/result/course1.txt', 'r') as course:
course_lines = course.readlines()
course_list = []
for course_line in course_lines:
course_list.append([course_line.strip().split(';')])
print(course_list)
运行结果及报错内容 --- 未给出,猜测如下:
course_list=course_list.append([course_line.strip().split(';')]) => course_list.append([course_line.strip().split(';')])