python:如何为字母赋值?

标签 python string mapping letters

我想为字母表中的每个字母分配一个值,以便 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/

相关文章:

python - 法语文本上的 NLTK word_tokenize 无法正常工作

string - Delphi:将字符串放入编辑框中时出现访问冲突?

python - Python 中是否有相当于 RStudio 的 ".rs.askForPassword"的值?

python - 未计算列表之间的余弦相似度

javascript - 没有 JShint 警告的多行 JSON 字符串

python - Fizzbuzz(将我的输出转换为字符串?)

c# - 当前类型是接口(interface),无法构造。您是否缺少类型映射?

c# - 递归映射 ExpandoObject

asp.net-mvc - 如何将 EditModel 映射到命令消息?

python - 我在哪里可以获得 Twisted?官方网站好像被黑了