如何获取列表列表中的对之间所有特定大小的唯一并集?

mtruong1999

我有一个列表L,其中每个元素都是一个size列表n我正在尝试n+1在中的每对列表之间找到所有大小唯一的“联合” L例如,unique_unions_n(L,n)设为执行我想要的功能

L = [['a','c'],
    ['b','c'],
    ['b','e'],
    ['c','e']]
n = 2
unique_unions_k(L, n) -> [['a', 'b', 'c'], ['e', 'a', 'c'], ['e', 'c', 'b']]

注意,['a','c'] union ['b','e']不包含,因为它的并集(['a','b','c','e']大小大于n+1

这就是我想出的,它n+1在中的列表对的所有组合之间产生大小的并集L,但这不能保证并集是“唯一的”。

import itertools
def union(list1, list2):
  return list(set(list1) | set(list2))

def unique_unions_n(L, n):
  result = []
  for item in itertools.combinations(L, 2):
    u = union(item[0], item[1])
    if len(u) == n+1:
      result.append(u)
  return result

L在上面的示例中给出相同的列表时,我的尝试会产生

result = [['a', 'b', 'c'],
 ['e', 'a', 'c'],
 ['e', 'c', 'b'],
 ['e', 'c', 'b'],
 ['c', 'e', 'b']]

这是不可取的,因为我认为['e','c','b']并且['c','e','b']不是唯一的。我了解我的功能失败,因为我正在查看每种组合。对于较大的列表,我也试图以最有效的方式做到这一点。我想念什么?

(除了示例以外,我不确定如何问/题这个问题,所以如果有人有更好的题词方法,请告诉我!)

iz_

尝试使用一组消除重复项:

import itertools

def unique_unions_n(L, n):
  result = set()
  for item in itertools.combinations(L, 2):
    u = frozenset(item[0] + item[1])
    if len(u) == n+1:
      result.add(u)
  return result

L = [['a','c'],
    ['b','c'],
    ['b','e'],
    ['c','e']]
n = 2
print(unique_unions_n(L, n))
# {frozenset({'b', 'e', 'c'}), frozenset({'c', 'a', 'e'}), frozenset({'c', 'a', 'b'})}

如果您需要其他格式的输出,则可以轻松转换为列表/元组列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何删除不唯一的列表列表中的所有项目?

来自分类Dev

从列表列表中获取所有唯一组合,直到第 n 个组合

来自分类Dev

如何在列表和列中的特定键中获取所有唯一字典值?

来自分类Dev

在python的列表列表中获取唯一值

来自分类Dev

从多个列表和列表列表中获取唯一对象。然后使用所有列表中的唯一对象创建一个新列表

来自分类Dev

如何在Quickbooks中离线获取特定客户的所有发票,估计和付款的列表列表?

来自分类Dev

如何按表中的行获取所有唯一元素的列表?

来自分类Dev

在c#中如何使用html agility pack获取唯一的所有标签列表

来自分类Dev

从列表列表中的每个列表中获取唯一元素

来自分类Dev

当列表列表中的所有项目等于一个值时,如何设置if语句?

来自分类Dev

从列表列表中获取约束的唯一元素列表

来自分类Dev

使用LINQ,我有一个列表列表,如何选择每个列表中存在的所有对象?

来自分类Dev

从列表列表中删除所有具有特定项目的列表

来自分类Dev

如何从列表列表中获取整数

来自分类Dev

检查列表列表的所有元素是否在另一个列表列表Python中

来自分类Dev

R-如何将列表列表转换为具有唯一索引的矩阵

来自分类Dev

c#如何获取对象列表及其频率的所有唯一组合

来自分类Dev

从python中的列表列表创建列表的所有组合

来自分类Dev

从排列列表中获取所有唯一组合

来自分类Dev

如何使用数据框列中的唯一值创建列表列表?

来自分类Dev

Java 8-如何对列表列表中的所有列表元素求和

来自分类Dev

获取表列表的总大小

来自分类Dev

如何从列表中获取所有值?

来自分类Dev

如何在python中获取文件列表的列表列表?

来自分类Dev

使用循环从列表中查找所有唯一单词

来自分类Dev

在列表列表中获取对

来自分类Dev

从具有特定属性的列表列表中收集列表列表

来自分类Dev

检索列表列表中除一个元素外的所有元素(Python)

来自分类Dev

集列表中的唯一项

Related 相关文章

  1. 1

    如何删除不唯一的列表列表中的所有项目?

  2. 2

    从列表列表中获取所有唯一组合,直到第 n 个组合

  3. 3

    如何在列表和列中的特定键中获取所有唯一字典值?

  4. 4

    在python的列表列表中获取唯一值

  5. 5

    从多个列表和列表列表中获取唯一对象。然后使用所有列表中的唯一对象创建一个新列表

  6. 6

    如何在Quickbooks中离线获取特定客户的所有发票,估计和付款的列表列表?

  7. 7

    如何按表中的行获取所有唯一元素的列表?

  8. 8

    在c#中如何使用html agility pack获取唯一的所有标签列表

  9. 9

    从列表列表中的每个列表中获取唯一元素

  10. 10

    当列表列表中的所有项目等于一个值时,如何设置if语句?

  11. 11

    从列表列表中获取约束的唯一元素列表

  12. 12

    使用LINQ,我有一个列表列表,如何选择每个列表中存在的所有对象?

  13. 13

    从列表列表中删除所有具有特定项目的列表

  14. 14

    如何从列表列表中获取整数

  15. 15

    检查列表列表的所有元素是否在另一个列表列表Python中

  16. 16

    R-如何将列表列表转换为具有唯一索引的矩阵

  17. 17

    c#如何获取对象列表及其频率的所有唯一组合

  18. 18

    从python中的列表列表创建列表的所有组合

  19. 19

    从排列列表中获取所有唯一组合

  20. 20

    如何使用数据框列中的唯一值创建列表列表?

  21. 21

    Java 8-如何对列表列表中的所有列表元素求和

  22. 22

    获取表列表的总大小

  23. 23

    如何从列表中获取所有值?

  24. 24

    如何在python中获取文件列表的列表列表?

  25. 25

    使用循环从列表中查找所有唯一单词

  26. 26

    在列表列表中获取对

  27. 27

    从具有特定属性的列表列表中收集列表列表

  28. 28

    检索列表列表中除一个元素外的所有元素(Python)

  29. 29

    集列表中的唯一项

热门标签

归档