[英]Having trouble finding the greatest length of whitespace in string
我需要找到字符串中最大的空格长度。 不知道怎么了。
def check1(x):
cc = ()
for i in x:
if i != " ":
lis.append(cc)
cc=0
else:
cc +=1
new.append(cc)
print(cc)
我不确定出了什么问题,它没有添加到附加列表中。
使用regex
和内建的max
:
import re
max_len = max(map(len, re.findall(' +', sentence)))
re.findall(' +', sentence)
将查找一个或多个空格的所有出现。
map(len, ...)
将此数组转换为相应字符串长度的数组。
max(...)
将获得这些字符串长度的最大值。
您可以使用一个简单的itertools.groupby
:
>>> from itertools import groupby
>>> s = 'foo bar baz lalala'
>>> max(len(list(v)) for is_sp, v in groupby(s, str.isspace) if is_sp)
10
groupby将找到连续运行的空白( is_sp == True
)和连续运行的非空白( is_sp == False
)。 在我们的例子中,我们只关心空白的运行,因此我们将非空白情况过滤掉,然后获得连续运行的长度。 最后,剩下的唯一一件事就是选择所有长度中的最大长度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.