假设字符串s
可能包含多个相邻的破折号。为了简单起见,让我们把这些事件都称为“重复动机”。例如,下面的字符串s
包含五个重复的破折号,即长度为3、2、6、5和1
s = "abcde---fghij--klmnopq------rstuvw-----xy-z"
我正在尝试用Python代码返回每个重复序列的字符串中各自的长度和位置。代码优先返回元组列表,每个元组的格式(长度、位置)
sought_function(s)
# [(3,5), (2,13), (6,22), (5,34), (1,41)]
你对如何启动这个代码有什么建议吗
Tags:
如果可以使用numpy:
使用
number
和idx
两个包含所需内容的数组:)您可以使用
groupby
:或者像@Willem评论的那样,用
len
替换sum
:如果要编写自己的函数:只需对字符进行迭代,并在内存中保留当前长度,如果序列被切断,则生成元素:
所以
s
是字符串,to_find
是您感兴趣的字符(这里是'-'
)相关问题 更多 >
编程相关推荐