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)]
这是我的代码:
解决方案
您可以将您list
的 of tuple
s 转换为 a 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
推荐阅读
- php - Laravel 8 和 Auth0 插件 6.2 的 Auth0“无效状态”异常
- r - 如何在一个窗口上指定并排图的数量
- mysql - sql - 根据最大值检索某个组的元素,而不使用 GROUP BY
- glsl - 在 GLSL 中制作一个带有“Squircle”角的矩形
- ruby-on-rails - 为模型赋值会保存模型吗?
- sas - 如何处理列名在SAS转置的by组中出现两次
- c - 如何在 Xaml 页面上设置最大日期并根据禁用日期设置日期
- excel - Why does Excel Grand Total returns error (#VALUE!) when getting data from SSAS OLAP Cube (MDX)?
- javascript - 在图标点击时将图标的值添加到输入字段中
- python - kaggle数据交易分析