我无法将'students'分配给不同的列表

  • 本文关键字:列表 students 分配 python
  • 更新时间 :
  • 英文 :


我想根据科目将学生分组到两个不同的列表中,但该功能无法创建不同的列表。我知道在两种情况下创建的列表实例是相同的,但我无法找到可行的解决方案。

def add_tolist(name, students=[]):
       students.append(name)
       return students
idc306 = add_tolist('ram')
idc101 = add_tolist('shyam')
idc101 = add_tolist('deepa',idc101)
print idc101, idc306

结果应该是:["希亚姆","迪帕"]["公羊"]

但它的印刷:["拉姆"、"希亚姆"、"迪帕"]["拉姆"、"希亚姆"、"迪帕"]

我认为

问题是您的程序将新列表视为不是一个独特的新副本,这将解决这个问题。

def add_tolist(name, students=[]):
    students1 = students.copy()
    students1.append(name)
    return students1
idc306 = add_tolist('ram')
idc101 = add_tolist('shyam')
idc101 = add_tolist('deepa',idc101)
print (idc101, idc306)

输出: ["希亚姆", "迪帕"] ["公羊"]

最新更新