Python中是否有一个已经实现的数据结构,有点像字典,但是其中的值是一个set / dict(具有键是可取的,但是如果已经存在这样的东西而没有键元素,那么它是而不是topstopper),并且set / dict中的任何元素充当查找set / dict的键?在所有涉及的集合都不相交的情况下,这将起作用。
具体示例: 我正在将8位向量值连接到字符和名称,并且希望能够搜索其中的一种,并从第三种中检索其他2条信息:
class group_lookup_dict:
def __init__(self):
self.groups = []
def add(self, new_group):
self.groups.append(new_group)
def lookup(self, key):
for group in self.groups:
if key in group.values():
return group
class group_lookup_dict: # edit: this one's better
def __init__(self):
self.main_dict = {}
def add(self, new_group):
if type(new_group) is dict: # it's a dict
iterator = new_group.values()
else: # it's a set (or list, tuple, etc...)
iterator = iter(new_group)
for val in iterator:
self.main_dict[val] = new_group
def lookup(self, key):
return self.main_dict[key]
my_group_lookup_dict = group_lookup_dict()
example_group = {"char": "&", "bits": "00100110", "name": "CHAR_AMPERSAND"} # https://mil.ufl.edu/3744/docs/lcdmanual/characterset.html
my_group_lookup_dict.add(example_group)
print(my_set_lookup_dict.lookup("&"))
>>> {'char': '&', 'bits': '00100110', 'name': 'CHAR_AMPERSAND'}
# also acceptable would be: {'&', '00100110', 'CHAR_AMPERSAND'}
编辑:上面的代码正是我想要的。我只是很好奇,是否有某种流行的数据结构可以类似地使用,而不必记住类定义保存在哪个文件中,或者在简单的情况下再次将其重写时可以使用它。
from collections import my_cool_group_lookup_dict
...就足够了。