Это не очень pythoni c, но это самый чистый способ, который я мог придумать. Обратите внимание, что этот код прерывается, если у вас есть '&' в последней позиции вашего списка.
your_list = ['what', 'is', 'apple', '&', 'orange']
out = []
i = 0
while i < len(your_list):
word = your_list[i]
if (i < len(your_list) - 1) and your_list[i + 1] == '&':
word = word + '&' + your_list[i + 2]
i += 2
out.append(word)
i += 1
print(out)