Domanda Ricerca valori in una classe

Maxwell2609

Utente Silver
29 Ottobre 2020
137
24
33
75
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
 
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)