在Python中,我想知道是否可以给序列中的一个字母赋值,然后求序列的和。到目前为止,我只看到了按字母顺序排列的。我有一个序列列表:
例如:ACEPAAG
(每行有一个序列),并希望将值赋给字母:A = 100
、P = 150
等,然后对该序列求和。你知道吗
到目前为止,我遇到了以下情况:
import string
d = {c: i for i,c in enumerate(string.ascii_uppercase, 150)}
d
word = "AGP"
score = sum(d[c] for c in word)
score
我知道这只是增加了150和字母表,有没有办法改变这一点,让我可以选择什么价值与哪个字母?你知道吗
您可以将两个列表映射到字典中,如:
所以,你可以加入一个你需要的数字列表。你知道吗
我不知道你在做什么,所以我只想根据我认为你在做什么来回答。你想把一系列字母的ASCII值加起来,对吗?你知道吗
这就是你要找的吗?你知道吗
我建议创建一个包含所有值的列表v,其中索引0处的值表示a,索引25处的值表示Z,等等
然后,不要像使用“i”那样使用它,而是使用它作为v的索引:
这样你就可以选择你想要的每个字母的价值。你知道吗
请记住,要使其工作,v中必须至少有26个元素,否则将出现索引超出范围错误。你知道吗
相关问题 更多 >
编程相关推荐