Home [Python] Bitwise & 연산을 이용하여 여러 Dictionary 간 교집합 구하기
Post
Cancel

[Python] Bitwise & 연산을 이용하여 여러 Dictionary 간 교집합 구하기

LeetCode의 383. Ransom Note를 풀다가 여러 dictionary 간의 intersection을 구하는 방법을 찾아보게 되었다.


Bitwise Operators in Python 문서에 따르면, 파이썬의 bitwise operators는 다음의 built-in data type들에 대해 정의되어 있다고 한다.


따라서 다음과 같이 bitwise & 연산자를 이용하여 dictionary 간 intersection을 구할 수 있다.

1
2
3
print(f"{cnt1=}")
print(f"{cnt2=}")
print(f"{cnt1&cnt2=}")
1
2
3
cnt1=Counter({'a': 2})
cnt2=Counter({'a': 1, 'b': 1})
cnt1&cnt2=Counter({'a': 1})
This post is licensed under CC BY 4.0 by the author.

[Better Way #47] 지연 계산 애트리뷰트가 필요하면 __getattr__, __getattribute__, __setattr__을 사용하라

[Better Way #48] __init_subclass__를 사용해 하위 클래스를 검증하라