Удалить символ из списка, сделанного из данных в файле - PullRequest
0 голосов
/ 27 декабря 2018

Ну, у меня есть файл с этими данными:

  1. Хесус Родригес, 5 E 5,2 1,7
  2. Лука Зоричк, 21 P 11,2 4,8
  3. ХорхеКампильон, 15 л 7 3.3

И другие данные .. Каждая строка имеет имя, цифры, позицию, которую они играют, количество очков и соотношение подборов («Хесус Родригес», «5"," E "," 5.2 "," 1.7 ").

Окей, у меня проблема, когда я получаю данные из файла, и имя добавляется в список с запятой, и яне хочу этого персонажа на нем.Вот код, который у меня есть на данный момент:

def leeFich(f):
    listaDatos = list()
    d = open(f)
    for lin in d:
        listaDatos.append(lin.strip())
        for i in listaDatos:
            i.replace(',', ' ') // Here is what I have tried to remove the comma
    return(listaDatos)

print(leeFich("ligaBaloncesto.txt"))

И вывод все еще содержит запятую в первом элементе списка, который я только что сделал.

Вывод: ['Хесус Родригес, 5 E 5,2 1,7 ',' Лука Зоричк, 21 P 11,2 4,8 ',' Jorge Campillons, 15 L 7 3,3 ',' ']

Ожидаемый результат: [' Jesus Rodriguez 5 E 5.2 1,7 ', 'Лука Зоричк, 21 P 11,2 4,8', 'Jorge Campillons, 15 L 7 3,3', '']

1 Ответ

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

Во-первых, str.replace не работает на месте.Кроме того, вы можете выполнить замену несколькими строчками выше, пока не удалите строку.Во-вторых, для чтения файлового объекта лучше использовать оператор with, который закрывает файл в конце блока и не дает вам возможности утечки памяти.В-третьих, вместо создания списка и вызова атрибута append для него в каждом цикле вы можете просто создать свой список, используя понимание списка.

def leeFich(f):
    with open(f) as d:
        lista_datos = [lin.strip().replace(',', '') for lin in d]
    return list_dataos
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...