从Python中的索引列表创建二进制数组

2024-04-26 07:11:02 发布

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

我有一个索引列表,比如[3,4,7,9]。创建二进制数组的最快方法是什么(在本例中为[0,0,0,1,1,0,0,1,0,1])。 谢谢


Tags: 方法列表二进制数组本例
3条回答

简单的列表理解就可以了:

indices = {3, 4, 7, 9}
[i in indices for i in range(10)]

对于numpy:

l = [3,4,7,9]
m = np.zeros(max(l)+1)
m[l] = 1
>>> m
array([0., 0., 0., 1., 1., 0., 0., 1., 0., 1.])

使用理解:

indices = {3,4,7,9}
output = [int(i in indices) for i in range(max(indices)+1)]

相关问题 更多 >