首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取字母表中的字符位置

获取字母表中的字符位置
EN

Stack Overflow用户
提问于 2011-05-08 19:29:24
回答 6查看 105.6K关注 0票数 60

我有90%的把握有一个内置的函数可以做到这一点。

我需要找到一个字符在字母表中的位置。因此,字符"b“是位置1(从0开始计数),等等。有人知道这个函数调用的是什么吗?

提前感谢!

编辑:我想要做的是把所有的字符X个“步骤”发回alpha赌注,所以如果我有一个带有"hi“的字符串,如果我把它发回一个步骤,它就是"gh”。也许有更好的方法,有什么建议吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-05-08 19:31:07

它被称为index。例如

代码语言:javascript
复制
>>> import string
>>> string.lowercase.index('b')
1
>>> 

注意:在Python3中,string.lowercase已重命名为string.ascii_lowercase

票数 96
EN

Stack Overflow用户

发布于 2011-05-08 20:29:05

不使用导入

代码语言:javascript
复制
def char_position(letter):
    return ord(letter) - 97

def pos_to_char(pos):
    return chr(pos + 97)
票数 42
EN

Stack Overflow用户

发布于 2011-05-08 19:53:37

可以使用ord()获取字符的ASCII位置,使用chr()将ASCII位置转换为字符。

编辑:更新以换行字母表,以便a-1映射到z,z+1映射到a

例如:

代码语言:javascript
复制
my_string  = "zebra"
difference = -1
new_string = ''.join((chr(97+(ord(letter)-97+difference) % 26) for letter in my_string))

这将创建一个字符串,所有字符在字母表中向后移动一个空格('ydaqz')。它只适用于小写的单词。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5927149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档