Python,找出列表中的同名学生,并将其打印

这个是列表:[[2001, '张三', 88.5], [2002, '李四', 78.0], [2003, '王老五', 67.2], [2004, '白冰冰', 87.0], [2005, '赵晓静', 78.0], [2006, '李四', 84.0], [2007, '张诗萌', 79.9], [2008, '白冰冰', 92.3]]

你可以使用一个字典来解决这个问题。首先,你需要遍历列表中的每个元素,并使用学生的名字作为字典的键,然后将学生的信息作为值添加到字典中。在遍历完列表后,你可以遍历字典,并打印出所有同名学生的信息。


```python
students = [[2001, '张三', 88.5], [2002, '李四', 78.0], [2003, '王老五', 67.2], [2004, '白冰冰', 87.0], [2005, '赵晓静', 78.0], [2006, '李四', 84.0], [2007, '张诗萌', 79.9], [2008, '白冰冰', 92.3]]

student_dict = {}

for student in students:
    student_name = student[1]
    if student_name in student_dict:
        student_dict[student_name].append(student)
    else:
        student_dict[student_name] = [student]

for student_name, students in student_dict.items():
    if len(students) > 1:
        print(f"找到{len(students)}个同名学生:")
        for student in students:
            print(student)


输出结果如下:
找到2个同名学生:
[2002, '李四', 78.0]
[2006, '李四', 84.0]
找到2个同名学生:
[2004, '白冰冰', 87.0]
[2008, '白冰冰', 92.3]


```