Wie kann ich für diesen Code entfernen?

class student(object): def student(self): self.name=input("enter name:") self.stno=int(input("enter stno:")) self.score=int(input("enter score:")) def dis(self): print("name:",self.name,"stno:",self.stno,"score:",self.score) def stno(self): return self.stno def name(self): return self.name def score(self): return self.score y=[] j=0 while(j<3): a=student() a.student() y.append(a) j+=1 for st in y: st.dis() n=int(input("enter #:")) for c in y: if c.stno==n: y.remove(c.stno) for st in y: st.dis() 

Ich möchte einen der Schüler mit seiner Schülerzahl und Gäste über die Schülerzahl entfernen. Ich schreibe:

 n=int(input("enter #:")) for c in y: if c.stno==n: y.remove(c.stno) 

Aber offensichtlich gibt es ein Problem damit. Weißt du, kann ich das ändern, um zu entfernen oder del oder Pop, obwohl ich denke, Pop oder del kann nicht funktionierbar sein, da es keinen Index gibt?

2 Solutions collect form web for “Wie kann ich für diesen Code entfernen?”

Ruf einfach an

y.remove(c)

Wenn du c.stno , wird es in der Liste nicht existieren, denn was eigentlich in der Liste ist, ist das Objekt selbst nicht die Attribute

Es ist nicht gut, das Array zu ändern, das Sie iterieren. Du kannst das versuchen:

 for item in [c for c in y if s.stdno==n]: y.remove(item) 
  • Verbinden von python 3.3 zu microsoft sql server 2008
  • Pygame-Wie erstelle ich ein Bild mit einem anderen
  • Gibt es eine Möglichkeit, Datei-Inhalte nach Listenelement in Python zu organisieren?
  • Python-Paket "Kein Modul namens ..."
  • Wie zählt man die Anzahl der Elemente in einem Satz von Zeilen, die auf einer Bedingung ausgewählt werden?
  • Python: Haben relative Importe bedeutet, dass Sie keine Unterpaket von selbst ausführen können?
  • Kann ich von __future__ importieren ... garantieren Python 2 und 3 kompatibilität?
  • Warum ist die Übersetzung nicht deterministisch?
  • Wie man auf verschachteltem Wörterbuch in python 3.x betreibt?
  • Wie komme ich mit PyWin32 an
  • Python das gleiche char nicht gleich
  • Python ist die beste Programmiersprache der Welt.