在做学生管理系统相关问题时,本来想运用字典来解决不同序号对应不同学生姓名、学生性别、学生手机号的问题,但在函数调用时出现问题,在寻找解决办法的过程中,发现了另一种思路,利用四个列表,分别对应序号、姓名、性别、手机号,它们之间通过相同的下标联系在一起。
感觉四个列表太麻烦了,或许可以进行一下优化,将姓名、性别、手机号放在一个列表list2中,将序号放在一个列表list1中,为了使序号与学生信息相对应,可以将list2嵌套在列表中,这样可以通过相同下标联系在一起。
在修改学生信息的过程中,尝试了一下发现可以直接读取列表中的列表。
list1 = [1, 2, 3, 4]
list2 = []
list2.append(list1) #列表嵌套列表
print(list1)
print(list2)
print(list2[0][0]) #列表中第一个列表的第一个数
运行结果
[1, 2, 3, 4]
[[1, 2, 3, 4]]
1
ps:或许可以进一步优化,取消代表序号的列表,根据 代表学生信息的列表的下标来与序号相对应,但一旦删除前面的信息,后面的学生信息将会自动向前一位。
或许可以利用clear()函数,只清空列表中的值,但保留空列表。
在使用列表嵌套列表时
假设将列表list1嵌套在列表list2中,一旦清除list2中list1的值,单独的list1也会被清除。
list1 = [1, 2, 3, 4]
list3 = [0, 1, 2