如何在Python中对字符串中的子字符串分别求和

63lcw9qa  于 2023-03-16  发布在  Python
关注(0)|答案(2)|浏览(119)

这是一串数字"72102450111111090"
我需要4个子字符串:721、245、111111和9,并将它们逐一求和,即第一子串的和为:10、第二道:11人,第三名:6人,以此类推

lskq00tm

lskq00tm1#

下面是解决方案

all_sums = []
sum = 0
for i in x:
  if i == "0":
    all_sums.append(sum)
    sum = 0
  else:
    sum += int(i)
print(all_sums)

产出

[10, 11, 6, 9]
cuxqih21

cuxqih212#

在字符“0”处拆分字符串并过滤掉空子字符串。在解析中,将子字符串的位数相加,然后使用map将其分别转换为整数。

S = "72102450111111090"

sums = [sum(map(int,ss)) for ss in filter(bool,S.split("0"))]

print(sums)
# [10, 11, 6, 9]

相关问题