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 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.
Nice Blog !!
Python Online Training In Hyderabad
Python Online Training
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)
"a = list(product(list_a,list_b))" can be written as "a = product(list_a,list_b)" as I think product returns a list
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=" ")