RandomHackerRankInterview QuestionsPythonPython Interview

HackerRank itertools.product() solution in python | python problem solution

 

 

 

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  and . Your task is to compute their cartesian product X.

Example

A = [1, 2]
B = [3, 4]

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

Note:  and  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 .
The second line contains the space separated elements of list .

Both lists have no duplicate integer elements.

Constraints

 

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)

Problem solution in Python 2 programming.

from itertools import product

A = map(int,raw_input().split())
B = map(int,raw_input().split())
print " ".join(str(k) for k in product(A,B))

Problem solution in Python 3 programming.

# Enter your code here. Read input from STDIN. Print output to STDOUT

from itertools import product
a = map(int, input().split())
b = map(int, input().split())

print(*product(a, b))

 

Problem solution in pypy programming.

from itertools import product
flist = map(int, raw_input().split())
slist = map(int, raw_input().split())

for item in product(flist, slist):
print tuple(item),

 

Problem solution in pypy3 programming.

import itertools
# Enter your code here. Read input from STDIN. Print output to STDOUT
A = list(map(int,input().split()))
B = list(map(int,input().split()))

p = list(itertools.product(A,B))
print(" ".join(map(str,p)))

 

Leave a ReplyCancel reply

Exit mobile version