Python 列表中的字符-数字对:当我知道字符/字母时,如何获取数字?
我想要一个程序,将计算一个名称(或任何单词)的数值。因此,如果我在图像中有一个简单的Python 列表中的字符-数字对:当我知道字符/字母时,如何获取数字?,python,list,nested,tuples,Python,List,Nested,Tuples,我想要一个程序,将计算一个名称(或任何单词)的数值。因此,如果我在图像中有一个简单的列表\u 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
列表\u 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)]
这是我的密码:
您可以将
元组的列表
转换为dict
,并将求和
与生成器表达式一起使用,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
好的,还有一个简短的问题,因为我仍然想玩弄这些列表。我在谷歌上搜索了“嵌套列表中的python访问元素”,有太多的资料,我不得不花上几个小时才能找到我需要的
假设我在底部有列表C(26个字母与26个从1到26的随机数字配对)。我得到字符串“michael”:如何得到对应于字母“m”、“I”、“c”、“h”、“a”、“e”和“l”的数值列表?在这种情况下,我要查找的列表是:
列表N=[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),('z),('
谢谢您使用的是什么语言?您的解决方案紧凑而优雅--谢谢!有趣的是,我学习了Python的列表/元组(但我没有看字典),因为这是我的网络安全项目所需要的全部。你刚才给了我玩字典的理由。