我在使用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)。 –