如何解决有没有办法将多对多对象关系转换成字典?
我有两个课
class Club:
def __init__(self,id,name):
self.id = id
self.name = name
class Student:
def __init__(self,name,clubs):
self.id = id
self.name = name
self.clubs = clubs
我想要一本字典,其中的关键是俱乐部名称,值是学生名单。
应用程序中大约有30种不同的关系。
有没有一种通用的方法?
解决方法
粗略的逆变器可能如下所示。
def reverse(elems,array_name,i_key):
dic = {}
for elem in elems:
for elem_field in elem[array_name]:
key = elem_field[i_key]
if key not in dic:
dic[key] = []
dic[key].append(elem)
return dic
club_a = { 'name': 'a'}
club_b = { 'name': 'b'}
club_c = { 'name': 'c'}
stud_a = { 'id': 1,'clubs': [club_a,club_b]}
stud_b = { 'id': 2,'clubs': [club_b,club_c]}
print(reverse([stud_a,stud_b],'clubs','name'))
# a: stud_a
# b: stud_a,stud_b
# c: stud_b
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。