Запись в массив нужных элементов python

Есть массив

arr = ['This next 546468456 fire again go',
      '\n\r\nThis next 281548547 fire again go',
      '\r\nThis next 466865789 fire again go',
      'This next 123456789 fire again go']

Нужно переписать данные в таком виде

arr = ['This 546468456 fire go',
      'This 281548547 fire go',
      'This 466865789 fire go',
      'This 123456789 fire go']

Незнаю как сделать. Если у вас пример


Ответы (2 шт):

Автор решения: Zhihar

вы бы задачу ставили чётко, может после этого у вас бы не было Незнаю как сделать

т.е. требуется

  1. удалить все \n\r с боков (подозреваю, что вообще удалить с боков пробельные и т.п. символы)

  2. удалить слово again

Т.е.

  1. для удаления слова again лучше воспользоваться методом .replace()

  2. для удаления пробельных символов по бокам лучше воспользоваться методом .strip()

  3. надо пройти по всем элементам массива используя 1) и 2) и собрать новый массив

→ Ссылка
Автор решения: Edward Grachev

Не очень красиво но наглядно как это можно сделать.

arr = ['This next 546468456 fire again go',
      '\n\r\nThis next 281548547 fire again go',
      '\r\nThis next 466865789 fire again go',
      'This next 123456789 fire again go']
arr_new = []
for i in arr:
    text = i.replace('\n','').replace('\r','').split(' ')
    data = []
    for j in text:
        if 'This' or 'fire' or 'go' in j:
            data.append(j)
        elif j.isdigit() is True:
            data.append(j)
    arr_new.append(' '.join(data))
print(arr_new)
→ Ссылка