2017-09-17 5 views
0

J'essaie de supprimer un élément dans une liste. étudiant = [[ 'Bob', '95'], [ 'Gretchen', '90']]Accéder à un élément pour le supprimer dans une liste imbriquée?

mon code est le suivant:

elif menu == 3: 
     # Remove students 
     student_removal = input("Please enter the name of the student you would like to remove") 
     for s in student: 
      if isinstance(student, type(list)): 
       student.remove(student_removal) 
     if student != student_removal: 
      print("The student name you have entered is not in the grade book. Please choose a different option") 

Au lieu d'enlever l'élément de ma liste , il me donne simplement la déclaration d'impression. Qu'est-ce que je fais mal?

+0

Si votre question a été répondu, vous pourriez [accepter une réponse] (https://stackoverflow.com/help/someone-answers). –

Répondre

1

Vous vous trompez probablement. Je suggère d'utiliser un dictionnaire, si vous allez stocker des paires clé-valeur. Vous souhaitez d'abord définir un dictionnaire comme celui-ci:

student = { 'Bob' : '95', 'Gretchen' : '90' } 

Maintenant, devient simple retrait:

name = input(...) 
if name in student: 
    del student[name] 
else: 
    print("Invalid name") 

L'avantage des dictionnaires est l'accès en temps constant des valeurs clés.

0

essayer cette

student_removal = input("Please enter the name of the student you would like to remove") 
if student_removal in student: 
    student.remove(student_removal) 
    print("Student removed from list") 
else: 
    print("The student name you have entered is not in the grade b")