Employee类设置了属性,我需要从数据馈送返回一个列表。你知道吗
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
员工可以是多个组的成员。你知道吗
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, peggy, trent])
catering = Employee(92, 'Catering', [admin, charlie, mary])
people = [anne, bob, carlos, carol, charlie, cherry, dave, emma,
mary, peggy, trent, admin, engineering, catering]
我的解决方案。你知道吗
import feed
def get_names(person, p_list):
try:
for p in p_list:
all_members = p.members
if all_members and person in all_members:
yield p
except AttributeError:
print('Not found')
print([t.name for t in get_names(feed.anne, feed.people)])
返回的数据应为:
['Admin', 'Catering']
由于安妮属于这两个团体,她是行政和餐饮的一部分。你知道吗
我将区分角色和员工,并为两者创建单独的类,因为它们代表不同的业务逻辑。你知道吗
所以现在找到多个团队的员工就容易多了
您可以使用此函数代替您的函数:
相关问题 更多 >
编程相关推荐