Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 列表中的字符-数字对:当我知道字符/字母时,如何获取数字?_Python_List_Nested_Tuples - Fatal编程技术网

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的列表/元组(但我没有看字典),因为这是我的网络安全项目所需要的全部。你刚才给了我玩字典的理由。