Python 为合并字典的每个键添加新值

Python 为合并字典的每个键添加新值,python,bioinformatics,Python,Bioinformatics,我试图将3个字典合并在一起,只保留唯一的值。在这些合并字典中为每个键添加一些新值时,我遇到了一些问题。我要添加的值取自另一个字典。 我的工作如下: fileName1 = hmmFiles[0] fileName2 = hmmFiles[1] fileName3 = hmmFiles[2] dictF = generateDict(fileName1) dicts = generateDict(fileName2)

我试图将3个字典合并在一起,只保留唯一的值。在这些合并字典中为每个键添加一些新值时,我遇到了一些问题。我要添加的值取自另一个字典。 我的工作如下:

        fileName1 = hmmFiles[0]
        fileName2 = hmmFiles[1]
        fileName3 = hmmFiles[2]
        dictF = generateDict(fileName1)
        dicts = generateDict(fileName2)
        dictT = generateDict(fileName3)
        dictPreUnique = {**dictF, **dictS}
        dictUnique = {**dictPreUnique, **dictT}
        for d in dictUnique:
            for di in dict1:
                cas_Id = di[:-1]
                if dictUnique[d][-1] == cas_Id:
                    values.append(dict1[di])
                    dictUniqueFinal[d] = dictUnique[d]
                    dictUniqueFinal[d].append(values)
                    dictUnique.update(dictUniqueFinal)
        print(dictUnique)

其中generateDict是我创建的用于形成字典的函数,dict1是形式字典:

'HMM1_2': 'II-C 0.86', ...
} ``` 
and dictUnique is a dictionary of form : 
```{'ACNR01000019.1_63_ID=1_63': (66215, 66769, -1, 'cas6', 1), 
'ACNR01000019.1_64_ID=1_64': (66780, 67784, -1, 'cas7', 1),...
} ```
I want to check if the number of each key of dict1 example HMM1_**1** is the same as the last value of dictUnique. If they are, I want to add values like **I-F 1.0** or **II-C 0.86** in dictUnique.
After this code I dont get the wanted result, I get only the merged dictionaries without the wanted values added. 
PLease help.

此处:

d1 = {'cats':5,
      'dogs':7,
      'rats':9,
      'pigs':3}
d2 = {'cats':3,
      'yaks':9,
      'rats':1,
      'bats':6}
d3 = {'bugs':9,
      'dogs':2,
      'yaks':1,
      'rams':3}
d4 = {}
for d in [d1,d2,d3]:
    for value in d.values():
        if value not in d4.values():
            d4.update({list(d.keys())[list(d.values()).index(value)]:value})
print(d4)
结果:

{'cats': 5, 
 'dogs': 2, 
 'rats': 1, 
 'pigs': 3, 
 'bats': 6, 
 'bugs': 9}
d4中的值都是唯一的。此处:

d1 = {'cats':5,
      'dogs':7,
      'rats':9,
      'pigs':3}
d2 = {'cats':3,
      'yaks':9,
      'rats':1,
      'bats':6}
d3 = {'bugs':9,
      'dogs':2,
      'yaks':1,
      'rams':3}
d4 = {}
for d in [d1,d2,d3]:
    for value in d.values():
        if value not in d4.values():
            d4.update({list(d.keys())[list(d.values()).index(value)]:value})
print(d4)
结果:

{'cats': 5, 
 'dogs': 2, 
 'rats': 1, 
 'pigs': 3, 
 'bats': 6, 
 'bugs': 9}

d4中的值都是唯一的。

不太清楚。你们的字典里有什么?您想如何合并它们?在这种情况下,什么是唯一的价值?输入字典和预期输出的示例是什么?不太清楚。你们的字典里有什么?您想如何合并它们?在这种情况下,什么是唯一的价值?输入字典和预期输出的示例是什么?