给定预定义的char / value对,将char映射到其值

时间:2013-10-18 14:45:01

标签: python string floating-point

我有预定义的字符串/值对,如下所示:

A = 137.05
B = 128.09
C = 131.04
D = 147.06

我的函数接收一个字符串,例如string =“BBDADC”,我必须迭代每个字符并总结每个相应的浮点值。如何将每个字符映射到其预定义值?以下打印循环显示映射不会自然发生,并且打印导致打印char而不是预定义值。可能是因为A!='A'?有没有办法做这个映射?就我而言,使用字典或列表是没有必要的。谢谢。

for chr in string:
print chr # print gives a chr, therefore sum += chr doesn't make sense
          # float(chr) neither makes much sense nor works

1 个答案:

答案 0 :(得分:3)

将这些字符串 - 值对存储在字典

weights = {'A': 137.05, 'B': 128.09, 'C': 131.04, 'D': 147.06}

并查看它们:

for chr in peptide:
    sum += weights[chr]

只要您拥有名称和值对,就可以使用词典,或者更常见的是,只要您希望能够根据存储和查找某些信息,就可以使用词典。