Eu tenho uma classe Employee que gostaria de retornar uma Lista de 'nomes'.
class Employee(object):
def __init__(self, id, name, members=None):
self.id = id
self.name = name
self.members = members
self.is_team = members is not None
Com o feed de dados, as instâncias criam um objeto Employee.
from employee import Employee
anne = Employee(0, 'Anne')
bob = Employee(1, 'Bob')
carlos = Employee(2, 'Carlos')
carol = Employee(3, 'Carol')
charlie = Employee(4, 'Charlie')
cherry = Employee(5, 'Cherry')
dave = Employee(6, 'Dave')
emma = Employee(7, 'Emma')
mary = Employee(8, 'Mary')
peggy = Employee(9, 'Peggy')
trent = Employee(10, 'Trent')
admin = Employee(90, 'Admin', [anne, bob, carlos])
engineering = Employee(91, 'Engineering', [carlos, trent, bob])
catering = Employee(92, 'Catering', [emma, anne, bob])
people = [anne, bob, carlos, carol, charlie, cherry, dave, emma, mary,
peggy, trent, admin, engineering, catering]
Minha solução até agora,
import feed
def get_names(person, e_list):
try:
for p in e_list:
if p == person and p in e_list:
print(p.name)
except AttributeError:
print('Not found')
print([e.name for e in get_names(feed.carlos, feed.people)])
Eu gostaria que os dados retornados fossem:
['Admin', 'Catering']
Como Carlos pertence a ambos.
Você deve verificar na lista de membros dessa pessoa.
import feed
def get_names(person, e_list):
try:
for p in e_list:
all_members = p.members
if all_members and person in all_members:
print(p.name)
yield p
except AttributeError:
print('Not found')
print([e.name for e in get_names(feed.carlos, feed.people)])
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras