這應該是python question
,但它看起來像algorithm problem
。下次給我們提供您的算法,我們可以幫助您爲python編寫它。
這種算法可能不是你的問題的最佳解決方案,但它會告訴你什麼蟒蛇可以這樣做:
long_text = '''3 5
3 6
3 7
3 8
3 12
3 13
3 14
5 1
5 2
5 3'''
lines = long_text.split('\n')
last_row = -1
last_column = -1
add_one = True
formatted_text = ''
for line in lines:
row, column = line.split(' ')
row = row
column = column
if row == last_row:
if int(column) == int(last_column) + 1:
if add_one:
formatted_text = '{} {}'.format(formatted_text, column)
add_one = False
else:
formatted_text = formatted_text[:-(len(last_column)+1)]
formatted_text = '{} {}'.format(formatted_text, column)
else:
formatted_text = '{}\n{} {}'.format(formatted_text, row,
column)
add_one = True
else:
formatted_text = '{}\n{} {}'.format(formatted_text, row, column)
add_one = True
last_row = row
last_column = column
print (formatted_text)
這裏遵循同樣的算法,用列表,而不是:
long_text = '''3 5
3 6
3 7
3 8
3 12
3 13
3 14
5 1
5 2
5 3'''
lines = long_text.split('\n')
last_row = -1
last_column = -1
add_one = True
formatted_list = []
for line in lines:
row, column = line.split(' ')
row = int(row)
column = int(column)
if row == last_row:
if column == last_column + 1:
if add_one:
formatted_list.append(column)
add_one = False
else:
formatted_list.pop(-1)
formatted_list.append(column)
else:
formatted_list.append('\n')
formatted_list.append(row)
formatted_list.append(column)
add_one = True
else:
formatted_list.append('\n')
formatted_list.append(row)
formatted_list.append(column)
add_one = True
last_row = row
last_column = column
formatted_text = ''
for element in formatted_list:
formatted_text = '{} {}'.format(formatted_text, element)
print (formatted_text)
add_one
用於檢查是否必須刪除最後一列,因此代碼輸出3 5 8
而不是3 5 6 7 8
。
^這正是我所期待的。謝謝!對不起,張貼在錯誤的地方。 – scottdet