使用Map函数在Python中二进制字符串中连续1的最大长度
有时,当处理数字的二进制表示形式时,可能需要找出数字中存在多少个连续的1。本文介绍了两种方法来找出这一点。
使用分割和贴图
python中的split函数可用于将给定的字符串拆分为多个字符串。我们将其除以零,然后使用map函数在生成的分割中查找最大长度。
示例
data = '11110000111110000011111010101010101011111111'
def Max_len_cons_1(data):
print ("Maximum Number of consecutive one's: ",max(map(len,data.split('0'))) )
Max_len_cons_1(data)输出结果
运行上面的代码给我们以下结果-
Maximum Number of consecutive one's: 8
使用正则表达式
python中的re模块还可以用于计算连续1的最大数量。在这里,我们找到1+的模式,它表示1的一个或多个数字。然后在这些样式中找到最大长度。
示例
data = '11110000111110010011'
import re
the_ones = re.findall(r"1+", data)
print("The blocks of one's: ",the_ones)
print("Maximum Number of consecutive one's =", len(max(the_ones, key=len)))输出结果
运行上面的代码给我们以下结果-
The blocks of one's: ['1111', '11111', '1', '11'] Maximum Number of consecutive one's = 5
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短