Python:如何确定无序元组列表是否在 dictionaries.values() 中?

标签 python list dictionary tuples

我尝试迭代一个字典并确定迭代期间该值是否存在于第二个字典中。这些值是列表项中带有元组坐标的列表。当我运行以下预期结果时,不会返回。我可能做错了什么?

<小时/>
o={123:[(2045414.2025330812, 737011.67879535258), (2045345.5412850082, 736965.27060331404)]}
t={234:[(2053962.2499010414, 731325.2501180619), (2053955.6251330376, 731121.18739786744)]}
y={345:[(2045414.2025330812, 737011.67879535258), (2045345.5412850082, 736965.27060331404)]}
h={456:[(2045345.5412850082, 736965.27060331404), (2045414.2025330812, 737011.67879535258)]}


for k, v in o.items():
    if v in h.values():
        print k, v

最佳答案

如果您的意思是元组列表本身是无序的,那么也许这就是您将 vh.values() 中的内容进行比较的问题,但其中 h.values() 的列表顺序不同。为什么不简单地将集合存储为值?

checker = set(list(map(set, h.values))
for k, v in o.items():
    if set(v) in checker:
        print(k,v)

也许您可以以此格式创建数据结构以避免不必要的开销。

关于Python:如何确定无序元组列表是否在 dictionaries.values() 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51405745/

相关文章:

python lxml 查找 <fb :comments/> tag

python - 如何计算唯一名称?

python - 从站点地图中删除页面

python-2.7 - 如何提取此列表名称

对列表中的项目进行分组的 Pythonic 方法

python - 在 python 中使用字典进行动态绑定(bind)?

python - 字符的组合和排列

java - 如何在java中将 HashMap 的哈希值转换为json

python - 字符串被突变为字典但无法弄清楚在哪里

java - 表示java中的常量列表