我有一个像这样的数组:
X= [[1,2,3],
[3,2,1],
[2,1,3]]
现在我要创建另一个数组Y。Y中的元素在X中的元素等于2的位置处应取值为1,否则它们应取值为0。在此示例中,Y应等于
Y=[[0,1,0],
[0,1,0],
[1,0,0]]
答案 0 :(得分:4)
使用numpy
将大大方便(并加快):
import numpy as np
Y = (np.array(X) == 2).astype(int)
>>> Y
array([[0, 1, 0],
[0, 1, 0],
[1, 0, 0]])
答案 1 :(得分:3)
您可以像这样使用列表理解:
Y = [[int(i == 2) for i in l] for l in X]
答案 2 :(得分:2)
Y = [[1 if i==2 else 0 for i in row] for row in X]