【问题标题】:Finding the largest list of tuples with distinct elements查找具有不同元素的最大元组列表
【发布时间】:2021-02-18 16:42:25
【问题描述】:

给定一个元组列表,我想在列表中找到所有元素都不同的最大元组数量。

例如使用列表:

[('nat', 'ges'), ('wisD', 'ges'), ('wisD', 'ak'), ('dutl', 'fatl')]

我需要返回列表

[('nat', 'ges'), ('wisD', 'ak'), ('dutl', 'fatl')]

因为这个列表具有原始列表中最多的元组,而所有元素仍然是不同的。

我真的不知道如何解决这个问题,所以任何帮助将不胜感激。

【问题讨论】:

  • 把它分成小块。弄清楚如何获得一个元组的不同计数。然后弄清楚如何过滤列表。
  • 您可能会觉得这很有帮助:stackoverflow.com/help/how-to-ask
  • 请编辑问题,向我们展示您最近尝试的代码以及您遇到的问题。另见:How to Askhelp center

标签: python list tuples


【解决方案1】:

这是一种方法,通过解析元组项目并在项目重复/唯一时设置标志

test_list = [('nat', 'ges'), ('wisD', 'ges'), ('wisD', 'ak'), ('dutl', 'fatl')]
result = [] 
temp = set()
matched_items = set()
for inner in test_list:
    flag = True
    for ele in inner:
        if ele in temp and ele in matched_items:
            flag = False
        else:
            temp.add(ele)
    if flag:
        matched_items.update(inner)      
        result.append(inner)

    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    相关资源
    最近更新 更多