re.split
は、第一引数のパターンの中で丸括弧が使われているかどうかで振る舞いを変えます。
https://docs.python.org/ja/3/library/re.html#re.split
>>> s = "厳しいパイソン優しいアナコンダ"
>>> words = re.split('(パイソン|アナコンダ)', s)
>>> words
['厳しい', 'パイソン', '優しい', 'アナコンダ', '']
B
の結果を得るためには、ここから2つずつ取り出して連結すればよいです。
>>> [fst + snd for fst, snd in zip(words[::2], words[1::2])]
['厳しいパイソン', '優しいアナコンダ']
わかりやすく書くとこう。
l = []
for i in range(0, len(words) - 1, 2):
l.append(words[i] + words[i + 1])
print(l)
Like!