在python中,如果字典中有一个键的多值,如何查找索引?

在python中,如果字典中有一个键的多值,如何查找索引?,python,dictionary,Python,Dictionary,我有一个字典,其中一个键有多个值。从字典中,我想检查该值以找到键,并找到该值的索引 genDict2= {"A":["GCT","GCC","GCA","GCG"], "B":["TAA","TGA","TAG"], "C":["TGT","TGC"], "D":["GAT","GAC"]} alphaSet =[] for i in range(len(genCollect)): for k, v in genDict

我有一个字典,其中一个键有多个值。从字典中,我想检查该值以找到键,并找到该值的索引

genDict2= {"A":["GCT","GCC","GCA","GCG"],
           "B":["TAA","TGA","TAG"],
           "C":["TGT","TGC"],
           "D":["GAT","GAC"]}

alphaSet =[]
for i in range(len(genCollect)):
    for k, v in genDict2.items():
        if genCollect[i] in v:
            alphaSet.append(k)
print(alphaSet)
从这段代码中,我可以找到键,但不知道如何找到值的索引。
假设输入为“GCC TAG GAT”,则输出应为“ABD”和“120”。

您可以使用列表方法
索引

genDict2= {"A":["GCT","GCC","GCA","GCG"],
           "B":["TAA","TGA","TAG"],
           "C":["TGT","TGC"],
           "D":["GAT","GAC"]}

alphaSet =[]
genCollect = ["GCT", "GCC", "GCA"]
for i in range(len(genCollect)):
    for k, v in genDict2.items():
        if genCollect[i] in v:
            alphaSet.append((k, v.index(genCollect[i])))
print(alphaSet)

这可能是一个很好的使用
pandas
的机会。如果您需要在一个相当小的数据集中进行大量查找(您的数据集最多64个),那么转换查找表以直接提供所需内容通常会更快/更容易。i、 e.将
{“A”:[“GCT”,“GCC”],“B”:[“TAA”]}
转换为
{“GCT”:(“A”,0),“GCC”:(“A”,1),“TAA”:(“B”,0)}
感谢它的工作。