将数组转换为0和1

时间:2016-03-13 00:09:18

标签: python multidimensional-array

假设我有一个数组A = [13, 15, 17]。我想创建一个新数组B,使得除第13,15和17条之外的所有条目都是0,并且这三个条目中的每一个都是1。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:7)

使用列表理解:

B = [int(i+1 in A) for i in range(max(A))]

对于0A中最高数字范围内的每个数字,我们选择int(i+1 in A)i+1 in A将是一个布尔值。如果该号码位于A,则结果为True。否则它将是False。由于bool继承自int,我们可以轻松将其转换为int()的正常整数。