在Python中对字符串中的数字求和
在 Python 中对字符串中的数字求和:
- 使用生成器表达式迭代字符串。
- 在每次迭代中,如果每个字符是数字,则将其转换为整数。
- 使用
sum()
函数获取数字的总和。
my_str = '1ab2c3'
# ✅ 对可能包含非数字的字符串中的数字求和
total = sum(int(char) for char in my_str if char.isdigit())
print(total) # ?️ 6
# -----------------------------------------------------------
# ✅ 对仅包含数字的字符串中的数字求和
my_str_2 = '246'
total_2 = sum(int(d) for d in my_str_2)
print(total_2) # ?️ 12
我们使用生成器表达式来迭代字符串。
生成器表达式用于对每个元素执行一些操作,或者选择满足条件的元素子集。
在每次迭代中,我们检查字符是否为数字。
如果字符串中的所有字符都是数字并且至少有 1 个字符,则 str.isdigit
方法返回 True,否则返回 False。
我们将所有数字转换为整数并使用 sum()
函数来获得总数
my_str = '1ab2c3'
# ✅ 对可能包含非数字的字符串中的数字求和
total = sum(int(char) for char in my_str if char.isdigit())
print(total) # ?️ 6
最后一步是使用 sum()
函数对生成器对象中的数字求和。
sum
函数接受一个可迭代对象,从左到右对其项求和并返回总数。
sum
函数采用以下 2 个参数:
- iterable 要对其项目求和的可迭代对象
- start 将起始值和可迭代的项目相加。 sum 默认为 0(可选)
如果保证我们的字符串只包含数字,则不必使用 str.isdigit()
方法。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。