我在使用Python 3查找大型二进制数集中最长连续数字集的开始点和结束点。目前我已经找到了1和0的最长连续数,现在我必须找到每个数的起点和终点。到目前为止,我的代码是:在Python中查找大型二进制集中最长连续数字集的开始点和结束点
为1的:
def getMaxSegmentLength(readable):
current_length = 0
max_length = 0
for x in readable:
if x == '1':
current_length += 1
else:
max_length = max(max_length, current_length)
current_length = 0
return max(max_length, current_length)
def main():
with open('C:/01.txt', 'r') as inputf:
s = inputf.read()
n = getMaxSegmentLength(s)
print("The longest streak of 1's = " + str(n))
if __name__ == '__main__':
main()
为0的:
def getMaxSegmentLength(readable):
current_length = 0
max_length = 0
for x in readable:
if x == '0':
current_length += 1
else:
max_length = max(max_length, current_length)
current_length = 0
return max(max_length, current_length)
def main():
with open('C:/01.txt', 'r') as inputf:
s = inputf.read()
m = getMaxSegmentLength(s)
print("The longest streak of 0's = " + str(m))
if __name__ == '__main__':
main()
这个代码是找到最长的连续组数字,其中包含在一个非常大的二进制集单独的文件。我也知道总共有多少个0和1,并且我还没有开始下一步查找起点和终点。任何帮助非常感谢,因为我是Python 3的新手。
我想你需要[枚举] (https://docs.python.org/2.3/whatsnew/section-enumerate.html)。 –