我想为字母表中的每个字母分配一个值,以便 a -> 1,b -> 2,c -> 3,... z -> 26。类似于返回值的函数这封信,例如:
值('a') = 1
值('b') = 2
等...
我将如何在 python 中执行此操作?
最佳答案
你想要一个原生的 python 字典。
(您可能还希望您的值从 "0"而不是 "1"开始,因此您可以避免在所有映射上添加 +1,如下所示)
用这个构建一个:
import string
values = dict()
for index, letter in enumerate(string.ascii_lowercase):
values[letter] = index + 1
这会给你这样的东西:
print values["a"]
-> 1
当然,您可能会使用“ord”内置函数并完全跳过这本字典,就像在其他答案中一样:
print ord("c") - (ord("a")) + 1
或者在 python 3.x 或 2.7 中,您可以使用字典生成器表达式一次性创建字典:
values = {chr(i): i + 1 for i in range(ord("a"), ord("a") + 26)}
关于python:如何为字母赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3246262/