Friday, December 27, 2024
Google search engine
HomeLanguagesPython | Make pair from two list such that elements are not...

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

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 

Python3




# 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]]

Time complexity: O(n^2), where n is the length of the longer list between list1 and list2.
Auxiliary space: O(k), where k is the number of pairs that satisfy the condition (a != b). The output list takes this amount of space.

Method #2: Using itertools and iteration 

Python3




# 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)]

Time complexity: O(n^2) where n is the length of the input lists,
Auxiliary space: O(n^2).

Dominic Rubhabha-Wardslaus
Dominic Rubhabha-Wardslaushttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Recent Comments