python - 使用...正则表达式在字典中查找键?

标签 python regex python-2.7 dictionary

我有一个具有以下结构的字典:键是源和目标之间的链接,值是对象连线的实例。

wire_dict = { source1_destination1_1 : object,
              source1_destination1_2 : object
              source2_destination1_3 : object
              source2_destination1_4 : object
              source2_destination2_1 : object
              source2_destination2_2 : object }

假设我只有一个目标值,并且我想用它找到具有 destination1_1 的键,或许可以使用正则表达式。如您所见,相同的源可以有多个目的地,但不同的源不能有相同的目的地。所以我想找到以目的地结尾的键。

由于 wire_dict 可能包含大量键值条目,请告诉我这种方法如何影响应用程序的性能。也许我应该只为源和目标之间的关系创建另一个字典?

更新:我用元组作为键更改字典:

wire_dict = { ('source1','destination1_1') : object1,
              ('source1','destination1_2') : object2
              ('source2','destination1_3') : object3
              ('source2','destination1_4') : object4
              ('source2','destination2_1') : object5
              ('source2','destination2_2') : object6 }

应用程序的逻辑是一样的。一个目的地不能有多个来源。因此,提供目的地时,只能是巧合。

最佳答案

通过 dict 键进行字符串搜索对于标准 python 词典来说将是线性时间。但它可以通过 dict.keys()re 模块来完成,正如 @avim 所帮助的那样。

对于第二个问题,用元组作为键而不是字符串键怎么样:

{(begin, end): connection_object}

它根本不会加速(搜索可能保持线性)但它可以在您想要表达的逻辑背后启用更好的代码。

关于python - 使用...正则表达式在字典中查找键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29207245/

相关文章:

python - Python 文档中的错误?

python - PyPDF2 按页拆分 pdf

python - Python 中的 fitdist 和 histfit 相当于什么?

Python正则表达式匹配不在引号之间的某些字符

javascript - 替换 unicode 空格字符

Python:AttributeError:对象没有属性 'method'

python-2.7 - 如何在 Python 中使用 OpenCV 合并 2 个灰度图像

Python2 : List splitting syntax - tail of a list

python - 如何查看 Tkinter 中是否存在小部件?

javascript - 使用原型(prototype)js选择元素