2016-05-05 2 views
0

Я пытаюсь создать список списков. У меня есть следующие списки.Невозможно создать списки списков

['0.2', '0.1', '0.4', '0.9', '1.0', '1.1', '1.2'] 
['2.7', '3.2', '2.9', '3.8', '2.9', '2.9', '2.9'] 
['6.7', '6.4', '4.7', '4.5', '4.7', '5.1', '5.1'] 
['0.3', '0.4', '0.7', '1.7', '1.8', '2.0', '2.0'] 
['5.0', '5.1', '5.7', '5.7', '5.6', '5.4', '5.3'] 

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

for ele in doc.items(): 
    y0 = ele.attr('y0') 
    p = pdf.pq('LTTextLineHorizontal') 
    x = 0 
    values.clear() 
    for elem in p.items(): 
     if elem.attr("y0") == y0: 
      x = x + 1 
      if x > 1: 
       values.append(elem.text()) 
    print(values) 
    table.append(values) 
for value in table: 
    print(value) 

Когда я запускаю последние две строки кода, я получаю следующее из:

['5.0', '5.1', '5.7', '5.7', '5.6', '5.4', '5.3'] 
['5.0', '5.1', '5.7', '5.7', '5.6', '5.4', '5.3'] 
['5.0', '5.1', '5.7', '5.7', '5.6', '5.4', '5.3'] 
['5.0', '5.1', '5.7', '5.7', '5.6', '5.4', '5.3'] 
['5.0', '5.1', '5.7', '5.7', '5.6', '5.4', '5.3'] 

Почему выход не совпадает со списком значений в верхний топ, который я написал?

Любая помощь будет оценена Спасибо.

+0

вы должны найти список постов – Craicerjack

ответ

3

table.append(values) добавляет ссылку/указатель на адрес values, поэтому новые изменения объекта values списка будет отражено во всех элементах table.
Вы можете сделать что-то вроде table.append(values[:]), чтобы вместо этого добавить копию объекта values.

+0

Спасибо, что сработали. Является ли 'table.append (values ​​[:])' таким же, как 'table.append (values.copy())'? – Chinwobble

+0

Привет! Подробнее см. [Этот ответ] (http://stackoverflow.com/a/2612815/1400623). –

Смежные вопросы