Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python - 요소가 쌍으로 동일하지 않도록 두 목록에서 쌍을 만듭니다.

<시간/>

이 기사에서는 유사한 요소가 쌍을 만들지 않도록 두 목록에서 쌍을 만드는 방법을 배울 것입니다. 문제를 해결하려면 아래 단계를 따르세요.

  • 요소로 목록을 초기화합니다.
  • 목록을 반복하고 목록의 해당 요소가 동일하지 않은 경우 쌍을 목록에 추가합니다.
  • 결과를 인쇄합니다.

예시

코드를 봅시다.

# initializing the lists
list_1 = [1, 2, 3, 4, 5]
list_2 = [5, 8, 7, 1, 3, 6]

# making pairs
result = [(i, j) for i in list_1 for j in list_2 if i != j]

# printing the result
print(result)

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

출력

[(1, 5), (1, 8), (1, 7), (1, 3), (1, 6), (2, 5), (2, 8), (2, 7), (2, 1), (2, 3), (2, 6), (3, 5), (3, 8), (3, 7), (3, 1), (3, 6), (4, 5), (4, 8), (4, 7), (4, 1), (4, 3), (4, 6), (5, 8), (5, 7), (5, 1), (5, 3), (5, 6)]

itertools 모듈로도 문제를 해결할 수 있습니다. 모든 요소의 쌍을 만드는 product라는 메소드를 제공합니다. 쌍을 찾은 후 쌍을 필터링할 수 있습니다.

예시

코드를 봅시다.

# importing the module
import itertools

# initializing the lists
list_1 = [1, 2, 3, 4, 5]
list_2 = [5, 8, 7, 1, 3, 6]

# pairs
pairs = itertools.product(list_1, list_2)

# filtering the pairs
result = [pair for pair in pairs if pair[0] != pair[1]]

# printing the result
print(result)

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

출력

[(1, 5), (1, 8), (1, 7), (1, 3), (1, 6), (2, 5), (2, 8), (2, 7), (2, 1), (2, 3), (2, 6), (3, 5), (3, 8), (3, 7), (3, 1), (3, 6), (4, 5), (4, 8), (4, 7), (4, 1), (4, 3), (4, 6), (5, 8), (5, 7), (5, 1), (5, 3), (5, 6)]

결론

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.