gpt4 book ai didi

python - 如何计算任意两个字母字符之间的破折号?

转载 作者:行者123 更新时间:2023-12-03 15:58:14 25 4
gpt4 key购买 nike

如果我们有一串字母字符和一些破折号,并且我们要计算该字符串中任意两个字母字符之间的破折号数。最简单的方法是什么?

例子:

输入:a--bc---d-k
输出:2031
这意味着a和b之间有2个破折号,b和c之间有0破折号,c和d之间有3个破折号,而d和k之间有1个破折号

在python中找到此输出列表的好方法是什么?

最佳答案

正则表达式的解决方案:

import re

x = 'a--bc---d-k'

results = [
len(m) for m in
re.findall('(?<=[a-z])-*(?=[a-z])', x)
]
print(results)
print(''.join(str(r) for r in results))

输出:

[2, 0, 3, 1]
2031

具有蛮力循环逻辑的解决方案:

x = 'a--bc---d-k'

count = 0
results = []
for c in x:
if c == '-':
count += 1
else:
results.append(count)
count = 0
results = results[1:] # cut off first length
print(results)

输出:

[2, 0, 3, 1]

关于python - 如何计算任意两个字母字符之间的破折号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60740528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com