列表理解以及如何使用For循环在Python中将列表中的每个元素类型从“List”更改为“float”

2024-04-26 23:38:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我对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循环中做什么吗?我想这个索引意味着只取列表中的第一个元素。你知道吗

谢谢你!你知道吗


Tags: 答案in元素列表for数字list数据类型
3条回答

Could you please tell what does "x[0]" do in this for loop; I thought this index would mean only taking the first element in a list.

list1 = [[1],[2],[3]]不仅仅是一个列表,而是一个列表列表。list1的每个元素都是一个列表——尽管只有一个子元素。因此,您可以有效地迭代列表list1中的每个列表,在位置0处选择第一个元素(仅此而已),并将其附加到新列表list2。你知道吗

x[0]返回列表x的索引0处的项,因此通过在for循环中用x[0]附加到一个新列表,可以在子列表中附加值,而不是子列表本身,从而实现所需的效果,使列表平坦化。你知道吗

你走的时候

for x in list1:

打印出x你会得到:

>[1]
>[2]
>[3]

因为list1中的每个元素仍然是列表!列表只有一个元素,但它们仍然存储在一个列表中。当您使用x[0]时,您告诉Python您想要访问每个列表的第一个元素,这是您想要的数字。你知道吗

另外一件比for循环更快的事情是使用列表理解:

 list2 = [x[0] for x in list1]

相关问题 更多 >