繁体   English   中英

集合的元组列表到集合列表

[英]List of tuples of sets to a list of sets

这是数据集:

data=[(frozenset({'I1'}), frozenset({'I2'})), (frozenset({'I1'}), frozenset({'I3'})), (frozenset({'I1'}), frozenset({'I4'})), (frozenset({'I2'}), frozenset({'I3'})), (frozenset({'I2'}), frozenset({'I4'})), (frozenset({'I3'}), frozenset({'I4'}))]

我希望它将其转换为如下列表:

[ frozenset({'I1','I2'}), frozenset({'I1','I3'}),...]

尝试转换

data=[(frozenset({'I1'}), frozenset({'I2'})), (frozenset({'I1'}), frozenset({'I3'})), (frozenset({'I1'}), frozenset({'I4'})), (frozenset({'I2'}), frozenset({'I3'})), (frozenset({'I2'}), frozenset({'I4'})), (frozenset({'I3'}), frozenset({'I4'}))]
for x in data:
    for y in x:
        #tests

这就是我想要做的

[ frozenset({'I1','I2'}), frozenset({'I1','I3'}),...]

这个怎么样?

sets_lst = [(frozenset({'I1'}), frozenset({'I2'})), (frozenset({'I1'}), frozenset({'I3'})),
                   (frozenset({'I1'}), frozenset({'I4'})), (frozenset({'I2'}), frozenset({'I3'})),
                   (frozenset({'I2'}), frozenset({'I4'})), (frozenset({'I3'}), frozenset({'I4'}))]


result_lst = [frozenset().union(*curr_set_group) for curr_set_group in sets_lst]

如果有任何不清楚或有任何疑问,请告诉我!

您想将每个元组中的frozenset chain在一起,然后将每个链转换为frozenset

from itertools import chain
result = list(map(frozenset, map(chain.from_iterable, data)))
# [frozenset({'I1', 'I2'}), frozenset({'I1', 'I3'}), frozenset({'I1', 'I4'}), frozenset({'I3', 'I2'}), frozenset({'I2', 'I4'}), frozenset({'I3', 'I4'})]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM