避免通过理解将重复项插入Python列表

亚历克斯·特列申科夫

我有一本字典:

XY_dict = {1: [(12, 55),(13, 55)],
2: [(14, 55),(15, 57)],
3: [(14, 55),(15, 58)],
4: [(14, 55),(16, 55)]}

我想找出哪些键的值元组是唯一的(不在任何其他键的值中)。从样本字典,关键1是独一无二的,因为既没有(12, 55),也不(13, 55)存在任何其他字典的关键。通过获取具有共享值的键列表,我可以稍后将结果取反,并获得唯一的键。

我正在使用列表推导来获取具有共享值的键:

keys_shared_values = [k1 for k1,v1 in XY_dict.iteritems()
                       for k,v in XY_dict.iteritems()
                       for XY_pair in v
                       if XY_pair in v1 and k != k1 and k1 not in keys_shared_values]

结果,我得到的结果是[2, 2, 3, 3, 4, 4]我希望不要插入重复项(因为我正在评估键值是否在结果列表中)。我可以通过运行来解决此问题list(set(shared_values)),但想了解我的代码有什么问题。

塞尔丘克

问题是keys_shared_values直到您完成理解才是空的,所以您k1 not in keys_shared_values将始终返回True您无法参考当前的理解。最好的选择就是set按照您的建议进行转换

如果需要此功能,应将代码更改为循环:

keys_shared_values = []
for k, v in XY_dict.iteritems():
    for k1, v1 in XY_dict.iteritems():
        for XY_pair in v:
            if XY_pair in v1 and k != k1 and k1 not in keys_shared_values:
                keys_shared_values.append(k1)
print keys_shared_values

结果:

[3, 4, 2]

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

通过列表理解Python将值插入到排序列表中

来自分类Dev

如何避免在MySQL中插入重复项?

来自分类Dev

避免在基于列表理解的快速排序中无意中删除重复项?

来自分类Dev

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

来自分类Dev

避免通过具有多个工作程序的Entity Framework在sql表中插入重复项

来自分类Dev

如何避免将重复项推入数组

来自分类Dev

如何通过检查特定字段来避免将重复文档插入Elasticsearch

来自分类Dev

MySQL插入:避免带有多个列的重复项

来自分类Dev

使用自动增量索引时避免插入重复项

来自分类Dev

消除列表重复项(Python)

来自分类Dev

使用Julia将项目插入排序列表中(有和没有重复项)

来自分类Dev

努力避免列表理解中的重复值

来自分类Dev

使用JPA避免结果列表中的重复项

来自分类Dev

如何通过流插入避免在BigQuery中重复

来自分类Dev

列表中重复项的python列表索引

来自分类Dev

避免插入重复

来自分类Dev

将字典项插入字典列表

来自分类Dev

Python-减少重复项列表,但如果重复项则保留列表中的重复项

来自分类Dev

尝试避免将重复项推入数组Angular中

来自分类Dev

通过尝试插入来测试MYSQL中的重复项

来自分类Dev

Python:通过可能的覆盖,使用渐进式索引重命名列表中的重复项

来自分类Dev

Python:通过唯一索引引用列表中的每个重复项

来自分类Dev

向ModelViewSet请求列表,并在插入之前检查重复项

来自分类Dev

Python从列表中删除几个重复项

来自分类Dev

Python-列表中重复项的索引

来自分类Dev

python计数列表中的重复项

来自分类Dev

从列表python中删除重复项

来自分类Dev

重命名python列表中的重复项

Related 相关文章

  1. 1

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

  2. 2

    通过列表理解Python将值插入到排序列表中

  3. 3

    如何避免在MySQL中插入重复项?

  4. 4

    避免在基于列表理解的快速排序中无意中删除重复项?

  5. 5

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

  6. 6

    避免通过具有多个工作程序的Entity Framework在sql表中插入重复项

  7. 7

    如何避免将重复项推入数组

  8. 8

    如何通过检查特定字段来避免将重复文档插入Elasticsearch

  9. 9

    MySQL插入:避免带有多个列的重复项

  10. 10

    使用自动增量索引时避免插入重复项

  11. 11

    消除列表重复项(Python)

  12. 12

    使用Julia将项目插入排序列表中(有和没有重复项)

  13. 13

    努力避免列表理解中的重复值

  14. 14

    使用JPA避免结果列表中的重复项

  15. 15

    如何通过流插入避免在BigQuery中重复

  16. 16

    列表中重复项的python列表索引

  17. 17

    避免插入重复

  18. 18

    将字典项插入字典列表

  19. 19

    Python-减少重复项列表,但如果重复项则保留列表中的重复项

  20. 20

    尝试避免将重复项推入数组Angular中

  21. 21

    通过尝试插入来测试MYSQL中的重复项

  22. 22

    Python:通过可能的覆盖,使用渐进式索引重命名列表中的重复项

  23. 23

    Python:通过唯一索引引用列表中的每个重复项

  24. 24

    向ModelViewSet请求列表,并在插入之前检查重复项

  25. 25

    Python从列表中删除几个重复项

  26. 26

    Python-列表中重复项的索引

  27. 27

    python计数列表中的重复项

  28. 28

    从列表python中删除重复项

  29. 29

    重命名python列表中的重复项

热门标签

归档