Добавление более одного элемента в список

Я хочу добавить в пустой список строки из файла, но добавляется только одна. Когда я использую расширение, добавляется каждая буква. Я хочу, чтобы каждая строка была новым элементом в списке. Если я использую метод for - if, печатается все, но добавляется только последний.

Если я использую метод for - if, печатается все, но добавляется только последний.


with open ("sesja1_1101_1.19o", "r", encoding = "UTF-8") as file:
    isIn = file.readlines()
    for line in isIn:
    elif "PRN / # OF OBS" in line:
            line = line.replace("\n", "")           
            line = line.replace("PRN / # OF OBS", "")
            line = line.lstrip()
            line = line.rstrip()
            sattelites = []
            sattelites.append(line)

            print (line)

результат:

runfile('C:/Users/HP/Desktop/mgr/mgr.py', wdir='C:/Users/HP/Desktop/mgr')
G05   729     0   688   400   400
G07   622     0   595   307   307
G08   486     0   455   259   259
G11   220     0   194    83    83
G13  1149     0  1149  1149  1149
G15   929     0   916   851   851
G17   378     0   365   261   261
G20    59     0    41     0     0
G24   510     0   495   465   465
G28  1149     0  1149  1149  1149
G30  1149     0  1149  1149  1149
R01   311   308   310   582   279
R07  1148  1148  1148  2294  1148
R08  1149  1149  1149  2298  1149
R09  1149  1149  1149  2298  1149
R10  1149  1149  1149  2298  1149
R11   357   357   357   712   355
R16   250   232   236   454   230
R17     6     1     4     1     0
R18  1113  1095  1112  2164  1089
R19   234   227   231   449   226


sattelites
Out[16]: ['R19   234   227   231   449   226']

инициализируйте sattelites = [] перед for loop

Shijith 30.07.2019 08:27
extend ожидает, что аргумент будет списком или другим итерируемым. Посмотрите на list('foobar'). Но extend не поможет, если вы инициализируете пустой список не в том месте.
hpaulj 30.07.2019 08:29

@Magdalena Wawrzynowicz поставила sattelites = [] вне цикла for

Zaraki Kenpachi 30.07.2019 08:35
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
99
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

как указано выше, вы должны инициализировать свой список вне цикла. и по какой-то неизвестной причине вы открываете условие «если» с «иначе»...

пример попробовать..

sattelites = []
with open ("open_this", "r", encoding = "UTF-8") as file:
    isIn = file.readlines()
    for line in isIn:
        if "this_exists" in line: # <-- change 'elif' to 'if'
            new_line = line
            new_line = new_line.replace('replace/remove').lstrip('some').rstrip('stuff')
            sattelites.append(new_line)
            print(new_line)

Другие вопросы по теме