首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何执行特定的交集运算集?

如何执行特定的交集运算集?
EN

Stack Overflow用户
提问于 2020-03-27 23:35:54
回答 2查看 29关注 0票数 0

我在python中有一个集合列表,名为A=[{1, 'CL1'},{1, 'CL2'},{2, 'CL3'},{2, 'CL9'}]。这里,int值表示学生编号,字符串值表示班级类别。我想以这样一种方式执行交集运算,即X类和Y类共享以下学生。例如,CL1和CL2有共同的学生1。同样,CL3和CL9也有学生2的共同点。该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-27 23:56:57

代码语言:javascript
复制
A=[{1, 'CL1'},{1, 'CL3'},{2, 'CL3'},{2, 'CL9'}]
l = [tuple(row) for row in A]

dic = {}
for row in l:
    if row[0] in dic:
        dic[row[0]].append(row[1])
    else:
        dic[row[0]] = [row[1]]

for key in dic:
    if len(dic[key]) > 1:
        print(key, ':', dic[key])

您可以生成一个字典,其中student是键,value是一个列表,其中包含所有包含该学生的类。然后,您可以打印列表长度大于1的所有dic键和值。

票数 0
EN

Stack Overflow用户

发布于 2020-03-27 23:40:43

使用集合之间的交集。

代码语言:javascript
复制
A[0].intersection(A[1])
A[2].intersection(A[3])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60889236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档