한 튜플의 요소에 대해 'XOR' 연산을 수행해야 하는 경우 'zip' 메서드와 제너레이터 표현식을 사용할 수 있습니다.
zip 메서드는 iterable을 가져와 튜플로 집계하고 결과로 반환합니다.
Generator는 반복자를 만드는 간단한 방법입니다. '__iter__()' 및 '__next__()' 메서드가 있는 클래스를 자동으로 구현하고 내부 상태를 추적할 뿐만 아니라 반환될 수 있는 값이 없을 때 'StopIteration' 예외를 발생시킵니다.
아래는 동일한 데모입니다 -
예
my_tuple_1 = ( 7, 8, 3, 4, 3, 2) my_tuple_2 = (9, 6, 8, 2, 1, 0) print ("The first tuple is : " ) print(my_tuple_1) print ("The second tuple is : " ) print(my_tuple_2) my_result = tuple(elem_1 ^ elem_2 for elem_1, elem_2 in zip(my_tuple_1, my_tuple_2)) print("The XORed tuple value is : " ) print(my_result)
출력
The first tuple is : (7, 8, 3, 4, 3, 2) The second tuple is : (9, 6, 8, 2, 1, 0) The XORed tuple value is : (14, 14, 11, 6, 2, 2)
설명
- 두 개의 튜플이 정의되어 콘솔에 표시됩니다.
- 목록은 반복되며 'zip' 방법을 사용하여 압축됩니다.
- 첫 번째 요소를 가져오고 '^' 연산자를 사용하여 두 튜플의 두 번째 요소와 'XOR'합니다.
- 이것은 튜플로 변환됩니다.
- 이 작업은 변수에 할당됩니다.
- 이 변수는 콘솔에 표시되는 출력입니다.