In [1]:
import numpy as np
In [2]:
print(np.__version__)
In [3]:
a_bool = np.array([True, True, True])
b_bool = np.array([True, False, False])
In [4]:
# if a_bool:
# pass
# ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
In [5]:
# a_bool and b_bool
# ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
In [6]:
# a_bool or b_bool
# ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
In [7]:
# not b_bool
# ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
In [8]:
print(bool([0, 1, 2]))
In [9]:
print(bool([]))
In [10]:
print(not [0, 1, 2])
In [11]:
print(not [])
In [12]:
# bool(a_bool)
# ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
In [13]:
print(a_bool.all())
In [14]:
print(a_bool.any())
In [15]:
print(b_bool.all())
In [16]:
print(b_bool.any())
In [17]:
a_bool_2d = np.array([[True, True, True], [True, False, False]])
print(a_bool_2d)
In [18]:
print(a_bool_2d.all())
In [19]:
print(a_bool_2d.all(axis=0))
In [20]:
print(a_bool_2d.all(axis=1))
In [21]:
print(type(a_bool_2d.all(axis=0)))
In [22]:
print(a_bool.size)
In [23]:
print(a_bool.size == 0)
In [24]:
print(a_bool & b_bool)
In [25]:
print(a_bool | b_bool)
In [26]:
print(~b_bool)
In [27]:
print(a_bool ^ b_bool)
In [28]:
a_int = np.array([0, 1, 3]) # [0b00 0b01 0b11]
b_int = np.array([1, 0, 2]) # [0b01 0b00 0b10]
In [29]:
print(a_int & b_int)
In [30]:
print(a_int | b_int)
In [31]:
print(a_int ^ b_int)
In [32]:
print(~a_int)
In [33]:
a = np.arange(12).reshape(3, 4)
print(a)
In [34]:
print(a > 3)
In [35]:
print(a % 2 == 0)
In [36]:
# print(a > 3 & a % 2 == 0)
# ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
In [37]:
# print(a > (3 & (a % 2)) == 0)
# ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
In [38]:
print((a > 3) & (a % 2 == 0))
In [39]:
x = 10
In [40]:
print(x > 3)
In [41]:
print(x % 2 == 1)
In [42]:
print(x > 3 or x % 2 == 1)
In [43]:
print((x > 3) or (x % 2 == 1))
In [44]:
a_single = np.array([0])
b_single = np.array([1])
c_single = np.array([2])
In [45]:
print(bool(a_single))
In [46]:
print(bool(b_single))
In [47]:
print(bool(c_single))
In [48]:
print(b_single and c_single)
In [49]:
print(c_single and b_single)
In [50]:
print(b_single or c_single)
In [51]:
print(c_single or b_single)
In [52]:
print(b_single & c_single)
In [53]:
print(b_single | c_single)
In [54]:
print(not a_single)
In [55]:
print(not b_single)
In [56]:
print(not c_single)
In [57]:
print(~a_single)
In [58]:
print(~b_single)
In [59]:
print(~c_single)
In [60]:
a_empty = np.array([])
print(a_empty)
In [61]:
print(bool(a_empty))