列表中的characternumber对:当我知道字符/字母时,如何获得数字?

2024-04-20 02:43:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想要一个程序,将计算一个名称(或任何单词)的数值。因此,如果我在图像中有简单的list_c_a,我的输入是,例如,robert,那么如何识别字母'r''o''b'等的相应数值,以便我可以将它们相加?另外:如何确保大写字母("R"obert)是正确的?你知道吗

list_c_a = [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5), ('f', 6), ('g', 7), ('h', 8), ('i', 9), ('j', 10), ('k', 11), ('l', 12), ('m', 13), ('n', 14), ('o', 15), ('p', 16), ('q', 17), ('r', 18), ('s', 19), ('t', 20), ('u', 21), ('v', 22), ('w', 23), ('x', 24), ('y', 25), ('z', 26)]

这是我的密码:

enter image description here


Tags: 图像程序名称密码字母大写字母单词robert
2条回答

好的,还有一个简单的问题,因为我还想玩弄这些清单。我在google中搜索了“python access element in nested list”,有太多的资料,我不得不花上几个小时才能找到我需要的东西。你知道吗

假设我在底部有列表C(26个字母和26个从1到26的随机数字)。我得到字符串“michael”:如何得到对应于字母“m”、“I”、“c”、“h”、“a”、“e”和“l”的数值列表?在这种情况下,我要找的清单是: 列表=[12、26、23、25、24、18、19]

列表C=[('a',24),('b',9),('C',23),('d',6),('e',18),('f',8),('g',2),('h',25),('i',26),('j',20),('k',16),('l',19),('m',12),('n',3),('o',21),('p',5),('q',7),('r',10),('s',11),('t',1),('u',4),('v',15),('w',22),('x',13),('y',14),('z',17)]

谢谢

您可以将listtuple转换为dict,并将sum与生成器表达式一起使用,str.lower(允许大写字符)对字符串中所有字符的数值求和:

string = 'Robert'

list_c_a = [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5), ('f', 6), ('g', 7), ('h', 8), ('i', 9), ('j', 10), ('k', 11), ('l', 12), ('m', 13), ('n', 14), ('o', 15), ('p', 16), ('q', 17), ('r', 18), ('s', 19), ('t', 20), ('u', 21), ('v', 22), ('w', 23), ('x', 24), ('y', 25), ('z', 26)]

dict_c_a = dict(list_c_a)

num = sum(dict_c_a[c] for c in string.lower())

print(num)

输出:

78

相关问题 更多 >