假设我有一个数组A = [13, 15, 17]
。我想创建一个新数组B
,使得除第13,15和17条之外的所有条目都是0
,并且这三个条目中的每一个都是1
。我怎样才能做到这一点?
答案 0 :(得分:7)
使用列表理解:
B = [int(i+1 in A) for i in range(max(A))]
对于0
到A
中最高数字范围内的每个数字,我们选择int(i+1 in A)
。 i+1 in A
将是一个布尔值。如果该号码位于A
,则结果为True
。否则它将是False
。由于bool
继承自int
,我们可以轻松将其转换为int()
的正常整数。