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("The list is : ")
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("The result is : ")
print(my_result)

输出结果

The list is :
[[5, 1, 6, 7, 9], [6, 3, 1, 9, 1], [4, 2, 9, 8, 9], [5, 1, 6, 7, 3]]
The result is :
[[5, 1, 6, 7], [6, 3, 1, 9], [4, 2, 9, 8], [5, 1, 6, 7]]

说明

  • 将必需的软件包导入到环境中。

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

  • 创建一个空集。

  • 枚举列表中的元素,如果找不到元素,则将其添加到空集中。

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

  • 在函数外部,定义一个列表并将其显示在控制台上。

  • 定义“K”的值。

  • 通过对其进行迭代来调用该方法。

  • 将其转换为集合并将其分配给变量。

  • 再次对其进行枚举,迭代并存储在结果变量中。

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

更新于:2021 年 9 月 20 日

106 次浏览

启动您的 职业生涯

完成课程即可获得认证

开始学习
广告