python – 将数组转换为0和1

假设我有一个数组A = [13,15,17].我想创建一个新的数组B,使得除了第13,15和17条之外的所有条目都是0,并且这三个中的每一个都是1.我怎样才能做到这一点? 最佳答案 使用列表理解:

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

对于从0到A中最高数字的每个数字,我们取int(i中的i 1). A中的i 1将是一个布尔值.如果该数字在A中,则结果为True.否则它将是假的.由于bool继承自int,我们可以使用int()轻松将其转换为普通整数.

点赞