「and」(邏輯)與「&」(位元):處理清單與Numpy 陣列的變化
使用布林運算時,理解「and」和「&」之間的區別至關重要。 'and' 評估兩個表達式是否都包含邏輯 True 值,而 '&' 決定兩個運算元是否都為 True(在邏輯值的上下文中)。
列表的行為
- 在範例1 中,「and」運算的計算結果為False,因為第一個清單中至少有一個元素為False。另一方面,如果兩個清單中的任何元素為 True,則結果為 True。因此,['True', 'False', 'False'] 和 ['True', 'True', 'False'] 將傳回 True。
- '&' 運算子與列表不相容,因為它們可能包含不同類型的元素,並且不能按位元組合。
與Numpy 的行為數組
-
範例3: 具有多個元素的陣列缺乏明確的真值,導致ValueError,因為'and' 無法評估此類陣列上的邏輯運算。使用 numpy 的 'any()' 或 'all()' 函數來決定邏輯條件。
-
範例 4: '&' 可以與 numpy 陣列一起使用,因為它們支援向量化運算。產生的陣列的元素是輸入數組中對應元素的位元與。
運算子用法摘要
- 用於邏輯運算非數組資料或非數學計算,使用「and」。
- 組合佈林向量值,使用帶有 '&' 的 numpy。
以上是'and' 與 '&':何時對列表和 NumPy 數組使用邏輯 AND 和按位 AND?的詳細內容。更多資訊請關注PHP中文網其他相關文章!