Domanda Ricerca valori in una classe

Maxwell2609

Helper
29 Ottobre 2020
91
19
33
Salve, ho un problema con uno script. Dovrei riuscire ad ottenere il valore di una variabile in una istanza appartenente ad una classe partendo da un' altra variabile della medesima istanza. Esempio:
Python:
class calsse:
    def __init__(self, nome, lavoro):
        self.nome = nome
        self.lavoro = lavoro
       
P1 = classe("nome1", "Idraulico")
P2 = classe("nome2", "Elettricista")
P3 = classe("nome3", "Idraulico")

Lo scopo è, ad esempio scrivendo "Idraulico" in input, ricevere in output "Nome1", "Nome3".
Grazie in anticipo
 

St3ve

Utente Platinum
12 Ottobre 2011
2,113
1,406
665
Supponiamo che hai una struttura che mantiene un gruppo di persone, la chiamo rubrica
Python:
class Persona:
    def __init__(self, nome, lavoro):
        self.nome = nome
        self.lavoro = lavoro

class Rubrica:
    def __init__(self):
        self.persone = []
    def add(self, persona):
        self.persone.append(persona)
    def perLavoro(self, lavoro):
        return [p for p in self.persone if p.lavoro == lavoro]

rubrica = Rubrica()
rubrica.add(Persona("nome1", "Idraulico"))
rubrica.add(Persona("nome2", "Elettricista"))
rubrica.add(Persona("nome3", "Idraulico"))

for p in rubrica.perLavoro("Idraulico"): print(p.nome)