我只想知道这段代码是怎么回事:
要同时子集化正则Python列表和numpy数组,可以使用方括号:
x = [4 , 9 , 6, 3, 1]
x[1]
x[1]
到底是做什么的?它跟踪上面列表中的索引1吗?
import numpy as np
y = np.array(x)
y[1]
y[1]
到底是做什么的?它跟踪上面列表中的索引1吗?
特别是对于numpy,您还可以使用布尔numpy数组:
x = [4 , 9 , 6, 3, 1]
x[1]
import numpy as np
y = np.array(x)
y[1]
y = np.array(x)
是否将列表x转换为numpy数组?
我不知道y[1]
是做什么的,它的索引是1吗?
(Image of the original problem for reference.)
1条答案
按热度按时间htzpubme1#
第一条指令:
创建一个普通的Python列表。
这个列表的元素有索引--从 0 开始的连续整数,所以
x[1]
检索 9(这个列表的第二个元素)。然后
y = np.array(x)
创建一个 numpy数组,用取自 x 的值填充。该数组的元素也有索引,也是从 0 开始。
因此
y[1]
也检索到 9。您询问这是否是转换。
它实际上不是任何转换,因为 x 仍然是一个列表,y 是一个单独的实体(一个数组),两者都有自己的数据缓冲区。
您可以通过在所选的 x 元素中保存任何其他值来确认,然后检查 y 的相应元素是否具有“旧”值。
然后
high = y < 5
创建一个boolean数组,每个元素声明 y 的对应元素是否小于5。最后一个语句
y[high]
是一个布尔索引的例子,它检索 y 中值小于 5 的元素。