У меня есть ряд генов, которые я хотел бы связать со списком свойств и цвета:Карта два списка в перевернутом словаре
gene_A_color = red
gene_B_color = blue
gene_A_property = ['a','b','c']
gene_B_property = ['d','e','f']
Для целей построения я хотел бы создать словарь где я могу использовать значение свойства в качестве ключа, чтобы получить либо цвет, либо ген следующим образом:
#lookup dictionary
{'a': ['red', 'gene_A']
'b': ['red', 'gene_A']
'c': ['red', 'gene_A']
'd': ['blue' 'gene_B']
'e': ['blue' 'gene_B']
'f': ['blue' 'gene_B']}
lookup[a][0] = red
lookup[a][1] = gene_A
Я начал, как это, но может только инвертировать список, если я потеряю имя гена:
lookup_dict = defaultdict(list)
lookup_dict['red'] = ['a','b','c']
lookup_dict['blue'] = ['d','e','f']
inverted = defaultdict(list)
for k, v in lookup_dict.items():
inverted[v].append(k)
#inverted
{'a': 'red'
'b': 'red'
'c': 'red'
'd': 'blue'
'e': 'blue'
'f': 'blue' }
Предложения?
хорошего вызова. я мог бы сделать класс также gen.name и сделать инвертированный [prop] = [gene.color, gene.name] спасибо! – zach