Skip to content
Related Articles

Related Articles

Python | Make pair from two list such that elements are not same in pairs

View Discussion
Improve Article
Save Article
  • Difficulty Level : Expert
  • Last Updated : 28 Feb, 2019

Given two lists, the task is to create pairs of elements (pairs can be repeated) from two list such that elements are not same in pairs.

Examples:

Input : list1 = [100, 20, 30, 400]
        list2 = [400, 2, 30]
Output:
[[100, 400], [100, 2], [100, 30],
 [20, 400], [20, 2], [20, 30],
 [30, 400], [30, 2], [400, 2], [400, 30]]

Input: list1 = [10,20,30,40]
       list2 = [60, 10, 20]
Output:
[[10, 60], [10, 20], [20, 60], [20, 10],
 [30, 60], [30, 10], [30, 20],
 [40, 60], [40, 10], [40, 20]]

 
Method #1: Using list comprehension




# Python code to create pair of element 
# from two list such that element 
# in pairs are not equal.
  
# List initialization
list1 =[10, 20, 30, 40]
list2 =[40, 50, 60]
  
# using list comprehension
output = [[a, b] for a in list1 
          for b in list2 if a != b]
  
# printing output
print(output)

Output:

[[10, 40], [10, 50], [10, 60], [20, 40], [20, 50], [20, 60], [30, 40], [30, 50], [30, 60], [40, 50], [40, 60]]

 

Method #2: Using itertools and iteration




# Python code to create pair of element 
# from two list such that element 
# in pairs are not equal.
  
# Importing
import itertools
  
# List initialization
list1 =[11, 22, 33, 44]
list2 =[22, 44, 66]
  
# using itertools
temp = list(itertools.product(list1, list1))
  
# output list initialization
out = []
  
# iteration
for elem in temp:
    if elem[0]!= elem[1]:
        out.append(elem)
  
# printing output
print(out)

Output:

[(11, 22), (11, 33), (11, 44), (22, 11), (22, 33), (22, 44), (33, 11), (33, 22), (33, 44), (44, 11), (44, 22), (44, 33)]


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!