我在python中做这个交换机的事情,我需要跟踪谁和谁说话,所以如果Alice - > Bob,那么暗示Bob--> Alice.
是的,我可以填充两个哈希映射,但我想知道是否有人有想法用一个哈希映射.
或建议另一种数据结构.
没有多个对话.假设这是一个客户服务呼叫中心,所以当Alice拨入交换机时,她只会和Bob通话.他的回复也只发给她.
Python dict是一个非常有用的数据结构:
d = {'a': 1, 'b': 2}
d['a'] # get 1
Run Code Online (Sandbox Code Playgroud)
有时你也想按值索引.
d[1] # get 'a'
Run Code Online (Sandbox Code Playgroud)
哪种方法是实现此数据结构的最有效方法?有官方推荐的方法吗?
给出一对一的词典(=双射)生成àla
for key, value in someGenerator:
myDict[key] = value
Run Code Online (Sandbox Code Playgroud)
可以通过添加来简单地创建反向查找字典
invDict[value] = key
Run Code Online (Sandbox Code Playgroud)
到for循环.但这是一种Pythonic方式吗?我是否应该编写另外一个class Bijection(dict)管理这个反向字典并提供第二个查找功能的?或者这样的结构(或类似结构)是否已经存在?