List Comprehensions- Python HackerRank Solution

List Comprehensions

Let’s learn about list comprehensions! You are given three integers x,y and z representing the dimensions of a cuboid along with an integer. Print a list of all possible coordinates given by(x,y,z) on a 3D grid where the sum of( i+j+k) is not equal to n. Here, o<=i<=x,0<=j<=y ,0<=k<=z . Please use list comprehensions rather than multiple loops, as a learning exercise.

Example
x=1

y=1

z=2

n=3

All permutations of [i,j,k] are:

[[0,0,0],[0,0,1],[0,0,2],[0,1,0],[0,1,1],[0,1,2],[1,0,0],[1,0,1],[1,0,2],[1,1,0],[1,1,1],[1,1,2]]

Print an array of the elements that do not sum to n=3 .

[[0,0,0],[0,0,1],[0,0,2],[0,1,0],[0,1,1],[1,0,1],[1,1,0],[1,1,2]]

Input Format

Four integers x,y,z and n , each on a separate line.

Constraints

Print the list in lexicographic increasing order.

Sample Input 0

1
1
1
2

Sample Output 0

[[0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [1, 1, 1]]

Explanation 0

Each variable x,y and z  will have values of 0 or 1 . All permutations of lists in the form .

[i,j,k]=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]]
Remove all arrays that sum to n=2 to leave only the valid permutations.

Sample Input 1

2
2
2
2

Sample Output 1

[[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 2], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 2], [1, 1, 1

Code:

if __name__ == '__main__':
    a = int(input())
    b = int(input())
    c = int(input())
    n = int(input())
    
    print([[x,y,z] for x in range(a+1) for y in range(b+1) for z in range(c+1) if (x+y+z)!=n])

This is a Python code that takes four integer inputs a, b, c, and n from the user and prints all possible combinations of three integers (x, y, z) where 0 <= x <= a, 0 <= y <= b, 0 <= z <= c, and (x + y + z) != n.

Here’s a step-by-step explanation of what’s happening in the code:

The first line checks if the module is being run as the main program or if it is being imported as a module into another program.

If the module is being run as the main program, the code inside the if block will be executed. If it is being imported, the code inside the if block will not be executed.

The next four lines take integer inputs from the user using the input() function and convert them to integers using the int() function. The integer values are then stored in the variables a, b, c, and n.

The print() function is used to print a list of all possible combinations of three integers (x, y, z) that satisfy the given conditions. The list is created using a list comprehension.

The list comprehension starts with two nested for loops that iterate over all possible values of x and y from 0 to a and from 0 to b, respectively. Inside the nested for loops, there is another for loop that iterates over all possible values of z from 0 to c.

The if statement inside the list comprehension checks if the sum of x, y, and z is not equal to n. If the sum is not equal to n, the current combination (x, y, z) is added to the list using the list syntax [].

When the list comprehension is finished, the resulting list of all possible combinations of three integers (x, y, z) that satisfy the given conditions is printed to the console. The output will be a list of lists, where each inner list contains three integers (x, y, z).

Disclaimer: These problems are originally created and published by HackerRank, we only provide solutions to those problems.Hence, doesn’t guarantee the truthfulness of the problem. This is only for information purposes.

Leave a Comment