簡體   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