python - Python:你如何确定一个无序元组列表是否在 dictionaries.values() 中?
问题描述
我试图遍历一个字典并确定在迭代期间该值是否存在于第二个字典中。这些值是在列表项处具有元组坐标的列表。当我运行以下预期结果时,不会返回。我可能做错了什么?
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
解决方案
如果您的意思是元组列表本身是无序的,那么问题可能在于您正在与v
中的某些内容进行比较h.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 - Flask 应用程序未加载(等待主机)
- postgresql - postgresql 11中的复制槽内存不足错误
- command-line-arguments - 如何将 raku -e 和 -n 与多个文件 glob 一起使用
- tensorflow - 使用 tf-agents 的上下文多武装老虎机的完整示例
- java - 当其内容更改时,使状态修剪栏贡献增加
- python - 如何使 HTML 中的默认文本输入值成为多字 Python 变量?
- amazon-web-services - 如何将 CloudWatch 警报配置为每 X 分钟评估一次
- python - 如果 col 为空字符串,则将相邻列也设为空
- javascript - 如何使用浏览器端 javascript 将具有编码高度值的 32 位 RGB png 转换为 16 位 png?
- sql - 如何连接三个表并将空白字段设置为空?