回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>Employee类设置了属性,我需要从数据馈送返回一个列表。你知道吗</p>
<h2>你知道吗员工.py你知道吗</h2>
<pre><code>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
</code></pre>
<p>员工可以是多个组的成员。你知道吗</p>
<h2>你知道吗饲料.py你知道吗</h2>
<pre><code>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]
</code></pre>
<p>我的解决方案。你知道吗</p>
<pre><code>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)])
</code></pre>
<p>返回的数据应为:</p>
<pre><code>['Admin', 'Catering']
</code></pre>
<p>由于安妮属于这两个团体,她是行政和餐饮的一部分。你知道吗</p>