I risultati non dovrebbero essere uguali? Non capisco.Operazione booleana in python
[True,False] and [True, True]
Out[1]: [True, True]
[True, True] and [True,False]
Out[2]: [True, False]
I risultati non dovrebbero essere uguali? Non capisco.Operazione booleana in python
[True,False] and [True, True]
Out[1]: [True, True]
[True, True] and [True,False]
Out[2]: [True, False]
No, perché non è il modo in cui l'operazione and
funziona in python. Prima di tutto non è and
gli elementi della lista separatamente. In secondo luogo, l'operatore and
opera tra due oggetti e, se uno di essi è False (evaluated as False), restituisce che, se entrambi sono True, restituisce il secondo. Ecco un esempio:
>>> [] and [False]
[]
>>>
>>> [False] and []
[]
>>> [False] and [True]
[True]
x and y
: sex
è falso, allorax
, altrimentiy
Se si desidera applicare le operazioni logiche su tutte le liste coppie che è possibile utilizzare le matrici numpy :
>>> import numpy as np
>>> a = np.array([True, False])
>>> b = np.array([True, True])
>>>
>>> np.logical_and(a,b)
array([ True, False], dtype=bool)
>>> np.logical_and(b,a)
array([ True, False], dtype=bool)
1. Qui in quanto si tratta di liste di un elenco vuoto verrà valutato come False
[aeb per a, b in zip (x, y)], grazie, che funziona anche – Tang
Cosa stai cercando di fare? – SubliemeSiem
Cosa? Questa lista non dovrebbe essere 'e' valore-saggio? – ForceBru
[aeb per a, b in zip (x, y)], questo è quello che sto cercando di fare. – Tang