2016-05-05 5 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) 

私が出て、次の取得のコードの最後の2行を実行すると:

['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リストオブジェクトへので、新しい変更がtableのすべての要素に反映される、valuesのアドレスへの参照/ポインタを付加します。
valuesオブジェクトのコピーを追加するには、table.append(values[:])のようにすることができます。

+0

ありがとうございました。 'table.append(values [:])'は 'table.append(values.copy())'と同じですか? – Chinwobble

+0

こんにちは!より包括的な見方については、[この回答](http://stackoverflow.com/a/2612815/1400623)を参照してください。 –

関連する問題