无法创建列表列表

时间:2016-05-05 13:45:39

标签: python list

我正在尝试创建列表列表。 我有以下清单。

['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']

上面的每一行我都存储在名为values的列表对象中。 但是,当我尝试运行时:

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']

为什么输出与我发布的顶部顶部的值列表不相同?

任何帮助将不胜感激 感谢。

1 个答案:

答案 0 :(得分:3)

table.append(values)会附加values地址的引用/指针,因此values列表对象的新更改将反映在table的所有元素中。
您可以执行table.append(values[:])之类的操作来添加values对象的副本。