所以我在这里得到了这个函数,它应该做的是创建一个我可以写入的文件。第二和第三个参数是列表,而第一个只是我要创建的文件名。在函数中,我进行了一个for循环,并遍历了all_students_list
,这是一个列表,但在每个索引处,也是一个列表,其中的名字和姓氏清单。 all_courses_list
是学校所有课程的列表,Schedule
是另一个函数返回的列表,为我们提供了学生的日程安排。然后,我将学生姓名和时间表一起添加到文件中。问题在于它还会打印[]
方括号。我该如何摆脱呢?我已经尝试过了
.replace('[', '')
.replace(']', '')
但这不起作用。
这是我的代码。
def generate_student_schedules(filename, all_courses_list, all_students_list):
with open(filename,'w') as fileout:
for one_student in all_students_list:
schedule = get_schedule(all_courses_list)
one_line = ''
one_line += (f'{one_student}')
one_line += (f'{schedule}\n')
fileout.write(one_line)
答案 0 :(得分:2)
如果one_student
是实际列表,则可以使用" ".join(one_student)
,因此总体来说:
def generate_student_schedules(filename, all_courses_list, all_students_list):
with open(filename,'w') as fileout:
for one_student in all_students_list:
schedule = get_schedule(all_courses_list)
one_line = ''
one_line += (" ".join(one_student))
one_line += (f'{schedule}\n')
fileout.write(one_line)
答案 1 :(得分:0)
打印列表时,Python的默认设置是打印列表中的括号和项目。您必须构建列表组件的单个字符串并打印该单个字符串。您的格式字符串可以提取单个项目,或者如果所有项目都是字符串,则可以在所有项目中使用join
:
>>> student = ['John','Smith']
>>> schedule = ['Class1','Class2']
>>> print(student,schedule)
['John', 'Smith'] ['Class1', 'Class2']
>>> line = f'{student[1]}, {student[0]}: {", ".join(schedule)}'
>>> print(line)
Smith, John: Class1, Class2