我有一个由1或0组成的整数列表y
。例如,
y = [1,0,0,0,0,1,0]
我希望在列表y
中随机选择两个值,它等于1,并获取列表中这些项的索引。例如,
index = [0,5]
答案 0 :(得分:2)
选项1 - 建议@StefanPochmann,@rayryeng和@Clayton Wahlstrom。
import random
y = [1,0,0,0,0,1,0]
i = 0
index =[]
for each in y:
if each == 1:
index.append(i)
i = i + 1
print(random.sample(index, 2))
选项2 - 我最初的可怕实施......
{{1}}
答案 1 :(得分:0)
y
中等于1的项目索引,仅保留索引。 ones = [i for i, elem in enumerate(y) if elem == 1]
sample_ones = random.sample(ones, k=2)
sample_ones
是一个列表,其中包含y
中等于1的随机选定元素的索引。