Python - 删除重复元素的列

当需要删除重复元素的列时,定义了一种创建空集的方法。遍历列表,如果找不到,则将其添加到集合中。

示例

下面是相同的演示

from itertools import chain

def remove_dupes(my_sub):

   my_string = set()

   for i, elem in enumerate(my_sub):

      if elem not in my_string:

         my_string.add(elem)

      else:

         yield i

my_list = [[5, 1, 6, 7, 9], [6, 3, 1, 9, 1], [4, 2, 9, 8, 9], [5, 1, 6, 7, 3]]

print("名单是: ")

print(my_list)

K = 3

temp_idxs = set(chain.from_iterable(remove_dupes(sub) for sub in my_list))

my_result = [[elem for i, elem in enumerate( sub) if i not in temp_idxs] for sub in my_list]

print("结果是: ")

print(my_result)

输出结果
名单是:

[[5, 1, 6, 7, 9], [6, 3, 1, 9, 1], [4, 2, 9, 8, 9], [5, 1, 6, 7, 3]]

结果是:

[[5, 1, 6, 7], [6, 3, 1, 9], [4, 2, 9, 8], [5, 1, 6, 7]]

解释

  • 所需的包被导入到环境中。

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

  • 创建了一个空集。

  • 对列表中的元素进行枚举,如果没有找到元素,则将其添加到空集中。

  • 否则,生成枚举的迭代器。

  • 在该函数之外,定义了一个列表列表并显示在控制台上。

  • 定义了“K”的值。

  • 通过迭代调用该方法。

  • 它被转换为一个集合并分配给一个变量。

  • 同样,它被枚举、迭代并存储在结果变量中。

  • 此结果变量在控制台上显示为输出。

以上是 Python - 删除重复元素的列 的全部内容, 来源链接: utcz.com/z/360064.html

回到顶部