棠中 发表于 2023-10-30 16:07:10

为什么在这个for循环中用append后v无法形成list?

为什么在这个for循环中用append后v无法形成list?
data明明是一个列表了,但是就是无法弄出来
x = ]
t = []
for i in x :
    t.append(i)
y = t
print(y)
我自己又尝试了一下这个例子但是这个例子又能完成,形成t的列表

isdkz 发表于 2023-10-30 16:07:21

问题出在你对列表的理解上。在这个例子中,你的列表x中的最后一个元素是一个嵌套列表,即['zg21', 'zgxj', 'etu']。当你执行t.append(i)时,你将x中的每个元素都添加到了t中。但是,当你访问t时,你实际上是在访问t列表中的第五个元素(列表是从0开始索引),然后再访问该元素中的第二个元素。由于x中的最后一个元素是一个嵌套列表,所以t实际上是['zg21', 'zgxj', 'etu'],而不是'etu'。因此,你无法获得正确的结果。

如果你想要形成一个包含x中所有元素的列表,包括嵌套列表中的元素,你可以使用extend方法而不是append方法。extend方法将嵌套列表中的每个元素作为独立的元素添加到列表中。以下是修改后的代码:

x = ]
t = []
for i in x:
    t.extend(i)
y = t
print(y)

现在,当你访问t时,你将获得'etu'作为结果。

棠中 发表于 2023-10-30 16:26:21

isdkz 发表于 2023-10-30 16:07
问题出在你对列表的理解上。在这个例子中,你的列表x中的最后一个元素是一个嵌套列表,即['zg21', 'zgxj',...

感谢回答,其实我想问的是我那个图中的v为什么不能通过for形成完整列表{:10_254:}

lassiter 发表于 2023-10-30 21:42:06

本帖最后由 lassiter 于 2023-10-30 21:51 编辑

我猜,你的这段程序报错在断点行,为啥会报错呢,因为在进行第一次循环的时候,v中只有一个元素,只有v,哪来的v

根据你的程序一步步走下来,data已经是一个列表,然后你只需要判断data==“stop”,如果是则建立字典item,将data[序号]赋予字典

棠中 发表于 2023-11-15 20:03:39

lassiter 发表于 2023-10-30 21:42
我猜,你的这段程序报错在断点行,为啥会报错呢,因为在进行第一次循环的时候,v中只有一个元素,只有v ...

谢谢谢谢
页: [1]
查看完整版本: 为什么在这个for循环中用append后v无法形成list?