在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)}
感谢它的工作。