簡體   English   中英

在 Python 中,我們可以在列表、元組、集合、字典等數據結構上使用按位運算符嗎? 如果是這樣,為什么?

[英]In Python can we use bitwise operators on data structures such as lists, tuples, sets, dictionaries? And if so, why?

現在我明白這些數據結構中的數據必須是整數類型才能可行,但它如何工作?

假設我有一個列表列表或其中包含元組的列表; 這樣做的結果會是什么樣子,它在邏輯上意味着什么?

list_a = [[1,34,24],[12,727,2]]
list_b =[[12,727,2]]

some_list = list_a & list_b
# what would the above list look like?

set_1 = {(2,3),(3,4),(4,5)}

set_2 = {(1,3),(2,5),(6,7),(1,0)}

some_set = set_1 | set2
# what would the above set look like?

我可以在結果數據結構上使用邏輯運算符嗎?

if some_value in set1 | set2:
    # do something

這些本身不是按位運算符。 它們是操作符,每種類型都可以為自己定義它將用它們做什么。 &| 運算符分別映射到對象的__and____or__方法 集合定義了這些操作(分別交集和並集),而列表則沒有 列表為+定義了一個操作(列表連接)。

Sooo... set_1 | set_2 set_1 | set_2結果:

{(2, 3), (6, 7), (4, 5), (3, 4), (1, 0), (2, 5), (1, 3)}

至於剩下的問題: Mu

暫無
暫無

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

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