python 清除列表问题

这里为什么要加student_query.clear()?不写的话会有什么影响吗?

def search():
student_query=[]
while True:
id=''
name=''
if os.path.exists(filename):
mode=input('按ID查找请输入1,按姓名查找请输入2:')
if mode=='1':
id=input('请输入学生ID:')
elif mode=='2':
name=input('请输入学生姓名:')
else:
print('您的输入有误,请重新输入')
search()
with open(filename,'r',encoding='utf-8')as rfile:
student=rfile.readlines()
for item in student:
d=dict(eval(item))
if id!='':
if d['id']==id:
student_query.append(d)
elif name!='':
if d['name']==name:
student_query.append(d)

        show_student(student_query)

        #清空列表
        student_query.clear()
        answer=input('是否要继续查询?y/n\n')
        if answer=='y':
            continue
        else:
            break
    else:
        print('暂未保存学生信息')
        return

为了清除之前的数据,不清除会导致下次调用时会影响show_student方法内的数据

可以不清除,分别将此列表打印出来对比分析一下