如何遍历具有重复值的列表?

问题描述 投票:1回答:2

这可能是一个非常基本的问题,但我不知道要寻找答案需要寻找什么:

我有此代码:

list = [[0,1],[0,2],[1,3],[1,4],[1,5]]

list.append(list[0])

for i in list:
    i.append(0)

print(list)

此列表稍后将用作曲线的坐标。我需要在末尾复制第一个坐标才能获得闭合曲线。

如果然后我想向列表中的每个坐标添加第三个值,则列表中的第一项和最后一项将被迭代两次:

[[0, 1, 0, 0], [0, 2, 0], [1, 3, 0], [1, 4, 0], [1, 5, 0], [0, 1, 0, 0]]

我猜他们具有相同的内存地址,因此将附加函数一次应用于第一个索引,并将一次应用于最后一个索引。

这种现象叫什么?像这样获取列表的最简单方法是:

[[0, 1, 0], [0, 2, 0], [1, 3, 0], [1, 4, 0], [1, 5, 0], [0, 1, 0]]

谢谢您的帮助

这可能是一个非常基本的问题,但是我不知道要寻找答案才能找到什么:我有以下代码:list = [[0,1],[0,2],[1,3 ],[1,4],[1,5]] list.append(list [0])for i in ...

python python-3.x list memory-management list-comprehension
2个回答
2
投票

您可以进行列表理解:


2
投票

最简单的答案是在附加结束点之前添加0。

© www.soinside.com 2019 - 2024. All rights reserved.