这应该是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