使用列表和字符串

working with lists and strings

如果我有一个字符串,例如 'winner',并且我有一个字母列表,我如何检查列表中字符串的每个字母的位置?所以对于字母 'w' 会给出 22。字母 'i', 8。 我使用 import string 方法来初始化 alfabet。

alfabet = string.ascii_lowercase

您正在寻找 ord function:

>>> [ord(i)-ord('a') for i in s]
[22, 8, 13, 13, 4, 17]

如果你混合了这将不起作用upper/lowercases:

>>> s2 = 'WinneR'
>>> [ord(i)-ord('a') for i in s2]
[-10, 8, 13, 13, 4, -15]

您将不得不使用 lower() 函数:

>>> [ord(i)-ord('a') for i in s2.lower()]
[22, 8, 13, 13, 4, 17]