基于公共元素将列表转换为集合的Python程序

当需要将列表转换为基于特定公共元素的集合时,可以定义一种方法,该方法使用“枚举”遍历集合并在元素上放置特定条件。使用了'union' 方法和'map' 方法。

示例

下面是相同的演示

def common_elem_set(my_set):
   for index, val in enumerate(my_set):
      for j, k in enumerate(my_set[index + 1:], index + 1):

         if val & k:
            my_set[index] = val.union(my_set.pop(j))
            return common_elem_set(my_set)
   return my_set

my_list = [[18, 14, 12, 19], [9, 6, 2, 1], [54, 32, 21, 17], [18, 11, 13, 12]]

print("名单是:")
print(my_list)

my_set = list(map(set, my_list))

my_result = common_elem_set(my_set)

print("结果是:")
print(my_result)
输出结果
名单是:
[[18, 14, 12, 19], [9, 6, 2, 1], [54, 32, 21, 17], [18, 11, 13, 12]]
结果是:
[{11, 12, 13, 14, 18, 19}, {9, 2, 6, 1}, {32, 17, 21, 54}]

解释

  • 定义了一个名为“common_elem_set”的方法,它接受一个列表作为参数。

  • 使用 enumerate 迭代列表。

  • 使用“&”设置条件,如果满足,则返回输出。

  • 在该方法之外,定义了一个列表列表。

  • 它显示在控制台上。

  • 使用 'map' 方法将其转换为集合,然后再次转换为列表。

  • 这被分配给一个变量。

  • 现在通过传递这个变量来调用该方法。

  • 输出显示在控制台上。