我对Python还不熟悉。最近我发现了一个使用for循环来重新形成一个数字列表的结果,以删除“list”的数据类型
首先,我这样做了:
list1 = [[1],[2],[3]]
list2 = []
for x in list1:
list2.append(x)
print(list2)
但我还是得到了答案:
[[1], [2], [3]]
然后,我试着:
list2 = []
for x in list1:
list2.append(x[0])
我终于得到了我想要的答案:
[1, 2, 3]
你能告诉我“x[0]”在这个for循环中做什么吗?我想这个索引意味着只取列表中的第一个元素。你知道吗
谢谢你!你知道吗
list1 = [[1],[2],[3]]
不仅仅是一个列表,而是一个列表列表。list1
的每个元素都是一个列表——尽管只有一个子元素。因此,您可以有效地迭代列表list1
中的每个列表,在位置0
处选择第一个元素(仅此而已),并将其附加到新列表list2
。你知道吗x[0]
返回列表x
的索引0
处的项,因此通过在for
循环中用x[0]
附加到一个新列表,可以在子列表中附加值,而不是子列表本身,从而实现所需的效果,使列表平坦化。你知道吗你走的时候
打印出
x
你会得到:因为
list1
中的每个元素仍然是列表!列表只有一个元素,但它们仍然存储在一个列表中。当您使用x[0]
时,您告诉Python您想要访问每个列表的第一个元素,这是您想要的数字。你知道吗另外一件比
for
循环更快的事情是使用列表理解:相关问题 更多 >
编程相关推荐