【问题标题】:Assign characters a value for computation为字符分配一个值以进行计算
【发布时间】:2016-05-31 16:16:29
【问题描述】:

我想获取一个字符串,然后根据该字符串中的字符进行计算。

a =1
b =2
c =3

test = 'cab'
test_sum= [?]

我怎样才能使“test_sum”等于 6?

【问题讨论】:

  • 值是什么?它们是否仅针对 a-z 定义?如果你遇到一个没有值的角色怎么办?
  • jsfan 说的。是否要将值 1-26 分配给 a-z?如果是这样,有一些紧凑的方法可以做到这一点。你想对大写字母和其他字符做什么?请将这些详细信息添加到您的问题中,以便人们可以为您提供更有用的答案。

标签: python character ascii


【解决方案1】:

您可以保存一个字符值字典。

values = {
    'a': 1,
    'b': 2,
    'c': 3,
}

test = 'cab'
test_sum = sum([values[c] for c in test]) # 6

【讨论】:

  • FWIW,sum 可以使用生成器表达式,因此无需构建临时列表,只需执行 sum(values[c] for c in test)。一般来说,生成器表达式比列表推导式花费更多的设置时间,但它消耗的 RAM 更少。当然,在这种特殊情况下,使用的 RAM 量是微不足道的。
猜你喜欢
  • 1970-01-01
  • 2020-01-18
  • 2023-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-04
  • 2017-05-28
  • 1970-01-01
相关资源
最近更新 更多