繁体   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