如何返回包含子列表的列表中的重复元素?

阿泽姆

有一个列表包含子列表,如下所示:

country_list = ['pakistan', 'india', 'iran', 'china', 'afghanistan', ['pakistan', 'iran', 'india']]

输出应该是: ['pakistan', 'india', 'iran']

主列表中可以有多个子列表,例如:

countries = ['pakistan', 'india', 'iran', 'china', 'afghanistan', ['pakistan', 'india'], ['china', 'pakistan']]

输出应该是: ['pakistan', 'india', 'china']

我需要一个通用函数,它返回一个包含重复项的列表。

阿泽姆

由于@Alex 提到了解“扁平列表”,我想出了解决方案:

假设有一个列表列表或一个包含子列表的列表:

import collections
countries = ['pakistan', 'india', 'iran', 'china', 'afghanistan', ['pakistan', 'india'], ['china', 'pakistan']]

def flatten_list(c_list):
"""
function to convert list of lists into flat list.
"""
  result = []
  for country in c_list:
      if isinstance(country, collections.Iterable) and not isinstance(country, (str, bytes)):
          result.extend(flatten_list(country))
      else:
          result.append(country)
  return result

def list_of_duplicates(flat_list):
"""
function to get duplicate entries and removing single entries
"""

    new_list = flat_list
    for e in set(new_list):
        new_list.remove(e)
    return list(set(new_list))


  result = list_of_duplicates(flatten_list(countries)) #desired result

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:删除列表和子列表中的重复元素;并删除完整的子列表(如果重复)

如何检测 ArrayList 中的重复项并返回具有重复元素的新列表

在C#中,如何检查列表中的重复元素,然后打印重复元素的名称?

如何为节点列表获取Java中重复元素的子节点

如何在Python中删除列表中的重复元素

如何从 R 中的“setequally”列表中删除重复元素?

Dart如何获取列表中的最大重复元素

如何仅打印python列表中的重复元素

如何从列表中创建没有重复元素的字典

如何删除此列表中的重复元素?

Ocaml:如何从列表中删除所有重复元素?

是否有一个接受列表并返回该列表中重复元素列表的函数?

Python:计算列表中的重复元素

列表中的Java重复元素

通用列表中的重复元素

列表中重复元素的计数

替换Python列表中的重复元素?

列表中的Python无限重复元素

在元组列表中查找重复元素

python从列表中删除重复元素

消除列表中的重复元素

计算列表中相邻的重复元素

从包含重复元素的未排序列表中找到最低的重复元素

如何为重复元素创建列表列表

在给定列表中创建重复元素的新列表

如何使用Dart / Flutter中的列表从列表中删除重复元素?

从包含一对整数的列表中删除重复元素的复杂性

如何根据python列表中重复元素的索引创建新的python列表

如何使用列表推导删除列表中的相邻重复元素?