Bonjour,
comment je peux adapter cette solution pour une matrice de valeur Booléenne s'il vous plais je veux appliquer le ET logique si True and False donne False :
c'est à dire [CODE]pour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mat=
[[False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, True, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, True, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [True, True, False, False],
       [False, False, False, False],
       [False, False, False, False],
       [False, False, True, False],
       [False, False, False, True],
       [False, False, False, False]]))
je veux adapter le code de cette fonction get Max
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
def isIterable(n):
    try:
        if isinstance(n, str): raise TypeError("%s is not iterable" % n)
        iter(n)
    except TypeError as e:
        return False
    # try
    return True
#isIterable
 
def getMax(mat, n):
    if isIterable(n):
        return tuple(np.concatenate([ mat[i-1:i-1+1] for i in n]).max(axis=0))
    else :
        return tuple(mat[n-1])
getMax fonctionneinitialement sur une matrice
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
mat = [
...     [30, 1, 5, 1],
...     [47, 2, 2, 2],
...     [12, 3, 3, 3],
...     [0, 18, 0, 0],
...     [0, 0, 14, 0],
...     [0, 0, 0, 15],
...     [0, 50, 0, 0],
...     [0, 38, 0, 0],
...     [0, 0, 23, 0],
...     [0, 0, 28, 0],
...     [0, 0, 6, 0],
...     [7, 0, 0, 0],
...     [15, 0, 0, 0],
...     [0, 0, 0, 8],
...     [0, 68, 0, 0],
...     [0, 0, 0, 21],
...     [0, 121, 0, 0],
... ]