gpt4 book ai didi

Python:通过遍历列表列表将项目附加到列表

转载 作者:行者123 更新时间:2023-11-28 16:41:14 24 4
gpt4 key购买 nike

我是一个从 C 转过来的 Python 新手。我基本上是在尝试实现与 C 中的数组指针数组等效的逻辑。

我想通过迭代这些列表的列表来将一个项目附加到一堆列表的末尾。我有以下代码:

data = [10, 20, 30]
list1 = list2 = list3 = list()
lists = [list1, list2, list3]

for i in range(len(data)):
lists[i].append(data[i])

for lst in lists:
print lst

然而,结果是:

[10, 20, 30]
[10, 20, 30]
[10, 20, 30]

代替:

[10]
[20]
[30]

我无法解释为什么这段代码无法产生所需的输出,是否有其他方法可以做到这一点?

最佳答案

你只创建一个列表

list1 = list2 = list3 = list()

此行创建一个空列表,将其引用分配给 list3,将 reference 分配给 list3 分配给 list2list1,因此它们指的是同一个对象。因此,当您添加您的值时,您会将它们添加到您所有的“列表”中。

这会很好用

data = [10, 20, 30]
lists = [[], [], []]

for i in range(len(data)):
lists[i].append(data[i])

for lst in lists:
print lst

但最简单的方法是只做

data = [10, 20, 30]
lists = [ [x] for x in data ]

关于Python:通过遍历列表列表将项目附加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18929746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com