Jam*_*oid 7 python algorithm set
鉴于:
g=[[], [], [0, 2], [1, 5], [0, 2, 3, 7], [4, 6], [1, 4, 5, 6], [], [], [3, 7]]
Run Code Online (Sandbox Code Playgroud)
如何比较g中的每个列表,以便对于共享的列表,任何公共号码都可以合并到一个集合中?
例如
0存在于g[2],g[4]
因此它们合并为一组{0,2,3,7}
我尝试了以下但它不起作用:
for i in g:
for j in g:
if k in i == l in j:
m=set(i+j)
Run Code Online (Sandbox Code Playgroud)
我想做出最大可能的设定.
这是一个快速说明,它将给出所有相交集合的列表:
sets = [set(i+j) for i in g for j in g if i!=j and (set(i) & set(j))]
Run Code Online (Sandbox Code Playgroud)
请注意,每个结果都会重复,因为每个列表都会被比较两次,一次在左侧,一次在右侧。
| 归档时间: |
|
| 查看次数: |
474 次 |
| 最近记录: |