itertools.product() in Python - HackerRank Solution

itertools.product() in Python - HackerRank Solution
itertools.product() in Python - HackerRank Solution


Problem :


itertools.product()
This tool computes the cartesian product of input iterables.
It is equivalent to nested for-loops.
For example, product(A, B) returns the same as ((x,y) for x in A for y in B).

Sample Code :
>>> from itertools import product
>>>
>>> print list(product([1,2,3],repeat = 2))
[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
>>>
>>> print list(product([1,2,3],[3,4]))
[(1, 3), (1, 4), (2, 3), (2, 4), (3, 3), (3, 4)]
>>>
>>> A = [[1,2,3],[3,4,5]]
>>> print list(product(*A))
[(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 3), (3, 4), (3, 5)]
>>>
>>> B = [[1,2,3],[3,4,5],[7,8]]
>>> print list(product(*B))
[(1, 3, 7), (1, 3, 8), (1, 4, 7), (1, 4, 8), (1, 5, 7), (1, 5, 8), (2, 3, 7), (2, 3, 8), (2, 4, 7), (2, 4, 8), (2, 5, 7), (2, 5, 8), (3, 3, 7), (3, 3, 8), (3, 4, 7), (3, 4, 8), (3, 5, 7), (3, 5, 8)]

Task :

You are given a two lists A and B. Your task is to compute their cartesian product AXB.
Example :
A = [1, 2]
B = [3, 4]

AxB = [(1, 3), (1, 4), (2, 3), (2, 4)]

Note: A and B are sorted lists, and the cartesian product's tuples should be output in sorted order.



Input Format :

The first line contains the space separated elements of list A.
The second line contains the space separated elements of list B.
Both lists have no duplicate integer elements.

Constraints :

  • 0 < A < 30
  • 0 < B < 30

Output Format :

Output the space separated tuples of the cartesian product.



Sample Input :

 1 2
 3 4

Sample Output :

(1, 3) (1, 4) (2, 3) (2, 4)



Solution :


Python 3 :
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# itertools.product() in Python - Hacker Rank Solution
# Enter your code here. Read input from STDIN. Print output to STDOUT
# itertools.product() in Python - Hacker Rank Solution START
from itertools import product
A = input().split()
A = list(map(int,A))
B = input().split()
B = list(map(int, B))
output = list(product(A,B))
for i in output:
    print(i, end = " ");
# itertools.product() in Python - Hacker Rank Solution END

Python 2 :
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# itertools.product() in Python - Hacker Rank Solution
# Enter your code here. Read input from STDIN. Print output to STDOUT
# itertools.product() in Python - Hacker Rank Solution START
from itertools import product

A = raw_input().split()
A = list(map(int, A))
B = raw_input().split()
B = list(map(int, B))

for i in product(A, B):
    print i,
# itertools.product() in Python - Hacker Rank Solution END





Disclaimer :
the above hole problem statement is given by hackerrank.com but the solution is generated by the codeworld19 authority if any of the query regarding this post or website fill the following contact form thank you.

Next Post Previous Post
4 Comments
  • bhanu
    bhanu Friday, December 17, 2021

    Nice Blog !!
    Python Online Training In Hyderabad
    Python Online Training

  • SALMAN
    SALMAN Tuesday, January 25, 2022

    from itertools import product
    list_a = list(map(int,input().split()))
    list_b = list(map(int,input().split()))
    a = list(product(list_a,list_b))
    print(*a)

    • Anonymous
      Anonymous Wednesday, August 10, 2022

      "a = list(product(list_a,list_b))" can be written as "a = product(list_a,list_b)" as I think product returns a list

  • Anonymous
    Anonymous Monday, June 19, 2023

    A = input().split()
    A = list(map(int,A))
    B = input().split()
    B = list(map(int, B))

    arr=[]
    for i in A:
    for j in B:
    arr.append((i,j))

    for x in arr:
    print(x, end=" ")

Add Comment
comment url