如何在没有方括号的情况下进行打印

时间:2020-10-01 22:14:38

标签: python-3.x file-io

所以我在这里得到了这个函数,它应该做的是创建一个我可以写入的文件。第二和第三个参数是列表,而第一个只是我要创建的文件名。在函数中,我进行了一个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)

2 个答案:

答案 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