<p>我会这样做——用糟糕的代码编写。我写得很匆忙
<code/></p>
<pre><code>import re
first_input = [
(0 , "Lorem ipsum dolor sit amet, consectetur"),
(1 , " adipiscing elit"),
(0 , ". In pellentesque\npharetra ex, at varius sem suscipit ac. "),
(-1 , "Suspendisse luctus\ncondimentum velit a laoreet. "),
(0 , "Donec dolor urna, tempus sed nulla vitae, dignissim varius neque.")
]
second_input = "Lorem ipsum dolor sit amet,\n consectetur adipiscing elit. In pellentesque\npharetra ex, at varius sem\n suscipit ac. Suspendisse luctus\ncondimentum velit a laoreet. Donec dolor urna, tempus sed\n nulla vitae, dignissim varius neque."
first_sanitized = [x[1].replace('\n', '') for x in first_input]
second_sanitized = second_input.replace('\n', '')
newline_positions = [m.start() for m in re.finditer('\n' ,second_input, re.M)]
new_output = []
i = 0
print(second_sanitized)
newlines_so_far = 0
for first_str in first_sanitized:
print(first_str)
index = second_sanitized.index(first_str)
number_of_newlines_in_between = sum([1 for x in newline_positions if (x > index and x < index + len(first_input[i][1]))])
new_string = second_input[index : (index + len(first_input[i][1]) + number_of_newlines_in_between + newlines_so_far)]
newlines_so_far += number_of_newlines_in_between
new_element = (first_input[i][0], new_string)
new_output.append(new_element)
i = i + 1
</code></pre>
<p/>