Как добавить указанные c строки из файла в список? - PullRequest
0 голосов
/ 25 февраля 2020

Доброе утро всем, поэтому у меня есть файл с именем NFL Teams.txt, содержащий

команды НФЛ: Торонто Тандербирдс, Лоси Солт-Лейк-Сити, Хьюстон Тексанс, Денвер Бронкос, Лас-Вегас Рейдерс, Сан-Д iego Зарядные устройства, Кливленд Браунс, Цинциннати Бенгалс, Балтимор Равенс, Сан-Антонио Маршаллс, Патриоты Новой Англии, Баффало Биллс, Дельфины Майами, Нью-Йорк Джетс, Рамс Лос-Анджелес, Сан-Франциско 49ers, Сакраменто Кондорс, Сиэтл Сихокс Атланта Соколс, Кэрол Святые из Нового Орлеана, Tampa Bay Buccaneers, Dallas Cowboys, London Black Knights, Washington Redskins, Филадельфия Иглз, Грин-Бэй Пэкерз, Детройтские львы, Чика go Медведи, Миннесота Викиньш, Вожди Канзас-Сити

Если бы я хотел добавить каждую строку после команд NFL: в список с именем nflTeamsList, как бы я это сделал?

1 Ответ

0 голосов
/ 25 февраля 2020

Там вы go:

with open('file.txt', 'r') as f:

    teams = f.read().replace('\n', '').split(':')[1].split(',')
    nflTeamsList = [t.strip() for t in teams] #Remove white spaces at the beginning/end

print(nflTeamsList)

Объяснение:

  1. f.read() читает файл как одну строку
  2. replace('\n', '') удаляет символ новой строки (\n), делающий строку одной строкой
  3. split(':') разрезает строку пополам в соответствии с символом :, поэтому в итоге вы получите две строки "NFL Teams" и "Toronto Thunderbirds, ... Kansas City Chiefs"
  4. Написав [1], вы просто берете вторую строку, то есть названия всех команд, и отбрасываете "NFL Teams" фигуру
  5. Затем снова используете split(',') на оставшихся строка. На этот раз split не разрезается пополам, но производит один кусок каждый раз, когда встречает запятую. Таким образом, teams будет списком, содержащим n строк, где n - количество футбольных команд ( Примечание : split удаляет символы запятой)
  6. Каждая из этих строк может иметь пробел в начале, и, вызывая strip, вы просто удаляете его
...