通过使用列表理解从列表列表中删除重复项

第1337章

我很好奇您是否可以从列表列表中删除重复项并以列表形式返回唯一性。我正在尝试这个:

def do_list( lists ):
    res = [ [ one for one in temp if one not in res ] for temp in lists ]
    return res

因此,例如,如果:

lists = [ [ "a","b","c" ],[ "d","a" ],[ "c","a","f" ] ]

结果应该是:

[ "a","b,"c","d","f" ]    

但是这给了我一个错误,那就是我在分配之前先引用了变量res。

马丁·图尔诺伊(Martin Tournoij)

因为您在res理解内引用,所以会出现错误这是行不通的,因为res仅在表达式完成后才可用。

因为我很好奇,并且标题要求“通过使用列表理解从列表列表中删除重复项”,所以我想看看是否可以使用列表理解来做到这一点,而不是通过使用:p作弊itertools

方法如下:

>>> lists = [ [ "a","b","c" ],[ "d","a" ],[ "c","a","f" ] ]
>>> lists2 = sorted(sum(lists, []))
>>> [ item for i, item in enumerate(lists2) if i == 0 or i == len(lists2) or lists2[i - 1] != item ]
['a', 'b', 'c', 'd', 'f']

要获得更多的疯狂,可以将它们合并在一行上,但是您必须重复sum()andsorted()调用。我无法动弹自己写这样难看的代码;-)

  • sum(lists, [])将使列表变平;它返回+中所有项目的总和(运算符)lists,并[]作为初始列表。
  • sorted()将其排序。这是必需的,因为我们仅检查最后一项
  • if语句检查前一项是否与当前项相同。

但这是丑陋且不符合Python风格的。为了爱Guido,请使用Pythonista的答案(或其中的一些变化)!

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除列表列表中的重复项

来自分类Dev

从df /列表列表中删除特定的重复项

来自分类Dev

根据内部列表元素的比较从列表列表中删除重复项

来自分类Dev

使用Distinct删除列表中的重复项

来自分类Dev

无法使用列表理解或Frozenset删除列表中的重复字典

来自分类Dev

在Python的列表列表中删除重复的列表

来自分类Dev

在Python的列表列表中删除重复的列表

来自分类Dev

删除列表中的重复项

来自分类Dev

使用列表作为键从嵌套列表中删除重复项

来自分类Dev

从R中的列表列表中删除重复项的最佳方法

来自分类Dev

根据每个子列表中的第三项,删除列表列表中的重复项

来自分类Dev

展平,删除重复项并在python中对列表列表进行排序

来自分类Dev

Python中列表列表的列表理解

来自分类Dev

如何从对象列表中删除(通过linq)重复项

来自分类Dev

仅通过 javascript 从下拉列表中删除重复项

来自分类Dev

如何从列表列表中删除重复的条目

来自分类Dev

使用列表理解从列表中删除单词

来自分类Dev

Python:从列表列表中删除列表?

来自分类Dev

从SML中的列表中删除重复项

来自分类Dev

从Scheme中的列表中删除重复项

来自分类Dev

从列表中的元组中删除重复项

来自分类Dev

使用javascript或jquery从选择下拉列表中删除重复项

来自分类Dev

无法使用Distinct方法从列表<string>中删除重复项

来自分类Dev

使用JavaScript从下拉列表中删除重复项

来自分类Dev

从列表中删除使用泛型的重复项

来自分类Dev

使用linq从字段列表中删除重复项

来自分类Dev

Python比较列表与列表列表以检查重复项

来自分类Dev

如何通过使用linq避免下拉列表中的重复项?

来自分类Dev

从类别列表中删除重复项

Related 相关文章

  1. 1

    删除列表列表中的重复项

  2. 2

    从df /列表列表中删除特定的重复项

  3. 3

    根据内部列表元素的比较从列表列表中删除重复项

  4. 4

    使用Distinct删除列表中的重复项

  5. 5

    无法使用列表理解或Frozenset删除列表中的重复字典

  6. 6

    在Python的列表列表中删除重复的列表

  7. 7

    在Python的列表列表中删除重复的列表

  8. 8

    删除列表中的重复项

  9. 9

    使用列表作为键从嵌套列表中删除重复项

  10. 10

    从R中的列表列表中删除重复项的最佳方法

  11. 11

    根据每个子列表中的第三项,删除列表列表中的重复项

  12. 12

    展平,删除重复项并在python中对列表列表进行排序

  13. 13

    Python中列表列表的列表理解

  14. 14

    如何从对象列表中删除(通过linq)重复项

  15. 15

    仅通过 javascript 从下拉列表中删除重复项

  16. 16

    如何从列表列表中删除重复的条目

  17. 17

    使用列表理解从列表中删除单词

  18. 18

    Python:从列表列表中删除列表?

  19. 19

    从SML中的列表中删除重复项

  20. 20

    从Scheme中的列表中删除重复项

  21. 21

    从列表中的元组中删除重复项

  22. 22

    使用javascript或jquery从选择下拉列表中删除重复项

  23. 23

    无法使用Distinct方法从列表<string>中删除重复项

  24. 24

    使用JavaScript从下拉列表中删除重复项

  25. 25

    从列表中删除使用泛型的重复项

  26. 26

    使用linq从字段列表中删除重复项

  27. 27

    Python比较列表与列表列表以检查重复项

  28. 28

    如何通过使用linq避免下拉列表中的重复项?

  29. 29

    从类别列表中删除重复项

热门标签

归档