我有一個 numpy 陣列串列,其中包含 10 像素陣列中所有可能的 0 和 1 配置。我正在嘗試確定具有超過兩個 1 的特定組 1 的陣列的數量。例如,陣列是 [1,0,0,1,1,1,1,1,0,1]。我想確定這個陣列有五個 1 作為一個塊。另一個例子,陣列是 [1,1,1,0,1,1,1,1,1,1]。我想找到六個 1 而不是三個 1 的塊。我找不到辦法做到這一點。
這是我生成所有可能陣列串列的代碼:
import numpy as np
from itertools import product
all_arrays = np.array(list(product([0,1], repeat=10)))
uj5u.com熱心網友回復:
將陣列轉換為字串并檢查成員資格:
str_array = ''.join(my_array)
return 5*'1' in str_array
uj5u.com熱心網友回復:
試試下面的方法。它不是很有效,但它應該可以作業。
from functools import reduce
import numpy as np
from itertools import product
n=int(input("How many 1s you want?"))
all_arrays = list(filter(lambda x : n*"1" in x and (n 1)*"1" not in x,map(lambda e : reduce(lambda x,y : str(x) str(y), e), product([0,1], repeat=10))))
print(len(all_arrays))
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/524743.html
