【问题标题】:Iterating over two dictionaries in python在python中迭代两个字典
【发布时间】:2016-12-05 06:40:23
【问题描述】:

下面的代码给了我一个只有 19 项的 mw_vs_sasa 字典,即使amino_acid_dictionary 和amino_acid_mw 都有 20 项。请帮我调试它。

  amino_acid_dictionary = {'ALA': ALA, 'ARG': ARG, 'ASN': ASN, 'ASP': ASP, 
                        'CYS': CYS, 'GLU': GLU, 'GLN': GLN, 'GLY': GLY,
                        'HIS': HIS, 'ILE': ILE, 'LEU': LEU, 'LYS': LYS, 
                        'MET': MET, 'PHE': PHE, 'PRO': PRO, 'SER': SER,
                        'THR': THR, 'TRP': TRP, 'TYR': TYR, 'VAL': VAL}

    amino_acid_mw = {'ALA': 89.09, 'ARG': 174.20, 'ASN': 132.12, 'ASP': 133.10, 
                         'CYS': 121.16, 'GLU': 147.13, 'GLN': 146.15, 'GLY': 75.07,
                         'HIS': 155.16, 'ILE': 131.18, 'LEU': 131.18, 'LYS': 146.19, 
                         'MET': 149.21, 'PHE': 165.19, 'PRO': 115.13, 'SER': 105.09,
                         'THR': 119.12, 'TRP': 204.23, 'TYR': 181.19, 'VAL': 117.15}
    mw_vs_sasa = {}
    oo=0
    for (title, weight) in amino_acid_mw.items():
        oo+=1
        print(oo)
        mw_vs_sasa[weight] = np.mean(amino_acid_dictionary[title])

【问题讨论】:

    标签: python numpy dictionary


    【解决方案1】:

    amino_acid_mw 字典中,'ILE''LEU' 的权重相同,因此在新字典中,131.18 只能有一个键。键必须是唯一的。您需要更改您的密钥以获得独特的东西。

    【讨论】:

    • 不错,我知道这一定是潜在问题,但我无法发现它。
    【解决方案2】:
    mw_vs_sasa = {}
    for i, (title, weight) in enumerate(amino_acid_mw.items()):
    
        print(i, title)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      • 2021-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多