2

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

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

我的函数接收一个字符串,例如 string = "BBDADC",我必须遍历每个字符并对每个对应的浮点值求和。如何将每个字符映射到其预定义值?以下打印循环显示映射不是自然发生的,打印结果是打印字符而不是预定义的值。可能是因为 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
4

1 回答 1

3

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

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

并查找它们:

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

只要您有成对的名称和值,就可以使用字典,或者更一般地说,只要您希望能够根据key存储和查找某些信息,就可以使用字典。

于 2013-10-18T14:47:24.513 回答