簡體   English   中英

如何應用按位運算符來比較對象列表

[英]How to apply bitwise operator to compare a list of objects

假設我有一個很長的對象列表(例如,bool 元素的 numpy 矩陣列表) foo = [a, b, c] ,我想與一些按位運算符進行比較,以獲得類似a | b | c a | b | c a | b | c

如果我可以使用這個按位運算作為一個函數,比如說一個bitwiseor函數,我可以簡單地用bitwiseor(*foo)來做到這一點。 但是,我無法找到是否可以按位或以這種函數形式編寫。

有沒有一些方便的方法來處理這種問題? 或者我應該只使用循環來累積比較所有元素?

結合functools.reduce使用operator中的函數方法:

>>> import operator, functools
>>> functools.reduce(operator.or_, [1, 2, 3])
3

numpy有許多支持沿軸減少的函數。 請參閱numpy.bitwise_ornumpy.bitwise_or.reduce

np.bitwise_or.reduce(your_array)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM