Python 3.x 在数据帧或矩阵中生成包含匹配元素的行列表

Python 3.x 在数据帧或矩阵中生成包含匹配元素的行列表,python-3.x,Python 3.x,我有一组给定用户的值 UserA: 1 2 3 UserB: 2 3 UserC: 3 4 UserD: 1 UserE: 5 我想使用python返回用户至少有一个匹配值的列表: 输出: UserA: {UserD, UserB, UserC}, UserB:{UserA, UserC}, UserC:{UserA, UserB}, UserD: {UserA}, UserE:{NA} 可能有一个更好的实现,但这会提供预期的输出 users={} 用户[“usera”]=[1

我有一组给定用户的值

UserA: 1 2 3
UserB: 2 3 
UserC: 3 4 
UserD: 1 
UserE: 5
我想使用python返回用户至少有一个匹配值的列表:

输出:

UserA: {UserD, UserB, UserC}, 
UserB:{UserA, UserC}, 
UserC:{UserA, UserB}, 
UserD: {UserA}, 
UserE:{NA}

可能有一个更好的实现,但这会提供预期的输出

users={}
用户[“usera”]=[1,2,3]
用户[“用户B”]=[2,3]
用户[“userc”]=[3,4]
用户[“userd”]=[1]
用户[“用户E”]=[5]
结果={}
对于键,users.items()中的val:
结果[键]=[]
对于users.items()中的键2和val2:
对于val2中的数字:
如果不是key==key2,并且key2不在结果[key]:
如果val中有数字:
结果[键]。追加(键2)
打印(结果)
输出为

{'usera': ['userb', 'userc', 'userd'], 'userb': ['usera', 'userc'], 'userc': ['usera', 'userb'], 'userd': ['usera'], 'usere': []}