Удаление \ n при создании списка из строки документации - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть строка документа как

numlist ="""12341
1234123
52412354
123"""

Я хочу создать список из одного номера из элементов numlist.Поэтому я написал:

list1 = list(str(numlist))

, чтобы создать список.Он хорошо работает, но добавляет символ новой строки при его создании.

Я сделал простой цикл для их удаления

for i in list1:
    if i == '\n':
        list1.pop(i)

Но я получаю ошибку:

Traceback (последний вызов был последним): файл ". \ Untitled-2.py", строка 8, в list1.pop (i) Ошибка TypeEr: объект 'str' не может быть интерпретирован как целое число

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Или вы можете сделать

list(numlist.replace('\n', ''))

, где все вхождения \n в numlist сначала удаляются с помощью replace(), а затем применяется list() для получения списка.

pop() принимает целое число в качестве аргумента, поскольку оно обозначает индекс.Вы прошли \n, что является str.Отсюда ошибка.

Используя изначально выбранный вами подход, вы можете использовать enumerate() и делать

for i,v in enumerate(list1):
    if(v=='\n'):
        list1.pop(i)
0 голосов
/ 19 декабря 2018

Попробуйте это:

list1 = list(i for i in numlist if i != '\n' )

также вы можете сделать это:

list1 = list(numlist.replace('\n',''))
...