2016-07-26 39 views
-3

我有這兩個這樣的字典:擷取值

dict1 = { 'C': '0.01464117821', 'E': '0.0621048942', 'd' :'0.05465751502','G':'0.06693173594','F':'0.03875843054','I':'0.05478210779','K':'0.05233761138','M':'0.02187736464','L': '0.09578482304','N':'0.04211449136','P':'0.05051274639','T':'0.0573250668','V':'0.06446141032','Y':'0.02954265733'}

dict2 = {'CVCVCVCV':['C','V','C','V','C','V','C','V'],'FEPFFTTK':['F', 'E','P','F','F','T','T','K'],]}

我想要的結果,如:

dict3 = { 'CVCVCVCV':[由從V的dict1 *值dict1..and等的C值], 'FEPFFTTK':[F的值從dict1電子商務dict1 *值*從dict1 P的值...等等],]}

回答

0
def product(x): 
    a = 1 
    for i in x: 
     a *= i 

    return a 

dict1={'A': '0.08449754996', 'C': '0.01464117821', 'E': '0.0621048942', 'D': '0.05465751502', 'G': '0.06693173594', 'F': '0.03875843054', 'I': '0.05478210779', 'H': '0.02252015864', 'K': '0.05233761138', 'M': '0.02187736464', 'L': '0.09578482304', 'N': '0.04211449136', 'Q': '0.040185413', 'P': '0.05051274639', 'S': '0.07603976756', 'R': '0.05819425977', 'T': '0.0573250668', 'W': '0.01273081812', 'V': '0.06446141032', 'Y': '0.02954265733'} 

dict2={'CVCVCVCV': ['C', 'V', 'C', 'V', 'C', 'V', 'C', 'V'], 'FEPFFTTK': ['F', 'E', 'P', 'F', 'F', 'T', 'T', 'K'], 'SHELRTPL': ['S', 'H', 'E', 'L', 'R', 'T', 'P', 'L'], 'DFGTGYS': ['D', 'F', 'G', 'T', 'G', 'Y', 'S'], 'QTNLLALN': ['Q', 'T', 'N', 'L', 'L', 'A', 'L', 'N'], 'PNGAGKTT': ['P', 'N', 'G', 'A', 'G', 'K', 'T', 'T']} 

for key, values in dict2.items(): 
    for i in range(len(values)): 
     values[i] = float(dict1[values[i]]) 

dict3 = {} 

for key, values in dict2.items(): 
    dict3[key] = product(values) 
0
from __future__ import division 
import numpy as np 

dict1={'A': '0.08449754996', 'C': '0.01464117821', 'E': '0.0621048942', 'D': '0.05465751502', 'G': '0.06693173594', 'F': '0.03875843054', 'I': '0.05478210779', 'H': '0.02252015864', 'K': '0.05233761138', 'M': '0.02187736464', 'L': '0.09578482304', 'N': '0.04211449136', 'Q': '0.040185413', 'P': '0.05051274639', 'S': '0.07603976756', 'R': '0.05819425977', 'T': '0.0573250668', 'W': '0.01273081812', 'V': '0.06446141032', 'Y': '0.02954265733'} 

dict2={'CVCVCVCV': ['C', 'V', 'C', 'V', 'C', 'V', 'C', 'V'], 'FEPFFTTK': ['F', 'E', 'P', 'F', 'F', 'T', 'T', 'K'], 'SHELRTPL': ['S', 'H', 'E', 'L', 'R', 'T', 'P', 'L'], 'DFGTGYS': ['D', 'F', 'G', 'T', 'G', 'Y', 'S'], 'QTNLLALN': ['Q', 'T', 'N', 'L', 'L', 'A', 'L', 'N'], 'PNGAGKTT': ['P', 'N', 'G', 'A', 'G', 'K', 'T', 'T']} 

for key, values in dict2.items(): 
    for i in range(len(values)): 
     values[i] = float(dict1[values[i]]) 

dict3 = {} 

for key, values in dict2.items(): 
    dict3[key] = np.product(values)