Создать список чисел в Python из строки в формате списка, хранящейся в файле - PullRequest
0 голосов
/ 19 мая 2018

У меня есть файл, который содержит список чисел в формате, точно так же, как Python напечатает его.Это сложный список, и в файле он выглядит так:

([(515.51, 615.76), (42.28, 152.3), (223.29, 138.07)], 1)
([(382.27, 502.27), (323.54, 473.01), (212.32, 433.57)], 2)
([(188.74, 442.8), (245.7, 461.47), (391.02, 508.96)], 3) 

Я хотел бы знать, как получить его из файла и сгенерировать точно такой же список, как числа в Python.

1 Ответ

0 голосов
/ 19 мая 2018

Попробуйте приведенный ниже код.Я предполагаю, что у меня есть данные элементы в этом вопросе в файле с именем data.txt .

data.txt

([(515.51, 615.76), (42.28, 152.3), (223.29, 138.07)], 1)
([(382.27, 502.27), (323.54, 473.01), (212.32, 433.57)], 2)
([(188.74, 442.8), (245.7, 461.47), (391.02, 508.96)], 3) 

data.py

lists = [];
integers = []

with open("data.txt") as f:
    for line in f.readlines():
        # Each line of file is a tuple with 2 items, first one is list, second one in an integer
        tuple = eval(line.strip());

        # Append each list from each line to lists list
        lists.append(tuple[0]);

        # Append each integer from each line to integers list
        integers.append(tuple[1]);

print(lists);
print(integers);

Ссылка: Преобразование строкового представления списка в фактический объект списка

...