We’ll look at how to determine the indices of non-zero entries in a Python list. There may be times when we simply need to access the list’s non-zero elements. In such instances, we can apply the following techniques.

**Lists:**

A list is an ordered grouping of values. It can hold a variety of values. A list is a container that may be changed. This means that we can add new values, delete old ones, or change current ones.

A Python list is a mathematical concept that describes a finite sequence. Items or elements in a list are the values in a list. A list can have multiple instances of the same value. Each occurrence is treated as a separate item.

Given a list, the task is to find the indices of non-zero elements in the given list.

**Examples:**

**Example1:**

**Input:**

Given list = [11, 19, 0, 8, 45, 0, 29, 0, 19, 0, 26, 0, 33]

**Output:**

The non zero elements indices in the given list are = [0, 1, 3, 4, 6, 8, 10, 12]

**Example2:**

**Input:**

Given list = 25 0 7 0 0 0 9 5

**Output:**

The non zero elements indices in the given list are = [0, 2, 6, 7]

## Program to Find Indices of the Non-Zero Elements in the Python list in Python

Below are the ways to find the indices of non-zero elements in the given list.

- Using For loop(Static Input)
- Using For loop(User Input)
- Using List Comprehension (Static Input)
- Using List Comprehension (User Input)

Explore complete java concepts from the Java programming examples and get ready to become a good programmer and crack the java software developer interview with ease.

### Method #1: Using For Loop (Static Input)

**Approach:**

- Give the list as static input and store it in a variable.
- Take an empty list and initialize it’s with an empty list using list() and [].
- Calculate the length of the given list using the len() function.
- Loop till the length of the given list using the For loop.
- Check if the element in the given list is equal to 0 or not using the If conditional statement.
- If it is a non-zero element then append the index to the new list using the append() function.
- Print the index list.
- The Exit of the Program.

**Below is the implementation:**

# Give the list as static input and store it in a variable. gvnlst = [11, 19, 0, 8, 45, 0, 29, 0, 19, 0, 26, 0, 33] # Take an empty list and initialize it’s with an empty list using list() and []. nwlist = [] # Calculate the length of the given list using the len() function. gvnlstlen = len(gvnlst) # Loop till the length of the given list using the For loop. for m in range(gvnlstlen): # Check if the element in the given list is equal to 0 or not # using the If conditional statement. if(gvnlst[m] != 0): # If it is non-zero element then append the index to the new list # using the append() function. nwlist.append(m) # Print the index list. print('The non zero elements indices in the given list are = ', nwlist)

**Output:**

The non zero elements indices in the given list are = [0, 1, 3, 4, 6, 8, 10, 12]

### Method #2: Using For Loop (User Input)

**Approach:
**

- Give the number as user input using the int(input()) function and store it in a variable.
- Take an empty list and initialize it’s with an empty list using list() and [].
- Calculate the length of the given list using the len() function.
- Loop till the length of the given list using the For loop.
- Check if the element in the given list is equal to 0 or not using the If conditional statement.
- If it is a non-zero element then append the index to the new list using the append() function.
- Print the index list.
- The Exit of the Program.

**Below is the implementation:**

# Give the list as user input using list(),map(),input(),and split() functions. # Store it in a variable. gvnlst = list(map(int, input( 'Enter some random List Elements separated by spaces = ').split())) # Take an empty list and initialize it’s with an empty list using list() and []. nwlist = [] # Calculate the length of the given list using the len() function. gvnlstlen = len(gvnlst) # Loop till the length of the given list using the For loop. for m in range(gvnlstlen): # Check if the element in the given list is equal to 0 or not # using the If conditional statement. if(gvnlst[m] != 0): # If it is non-zero element then append the index to the new list # using the append() function. nwlist.append(m) # Print the index list. print('The non zero elements indices in the given list are = ', nwlist)

**Output:**

Enter some random List Elements separated by spaces = 25 0 7 0 0 0 9 5 The non zero elements indices in the given list are = [0, 2, 6, 7]

### Method #3: Using List Comprehension (Static Input)

The method used in the sample program is another way to find the indices of non-zero elements. This is a concise summary implementation of the preceding algorithm. To transform the list into an iterable, we use the enumerate() method in this method.

**Approach:**

- Give the list as static input and store it in a variable.
- Use the list comprehension and enumerate to find all non-zero elements indices in the given list.
- Print this indices list.
- The Exit of the Program.

**Below is the implementation:**

# Give the list as static input and store it in a variable. gvnlst = [11, 19, 0, 8, 45, 0, 29, 0, 19, 0, 26, 0, 33] # Use the list comprehension and enumerate to find all non-zero elements # indices in the given list. nwlist = [index for index, listelement in enumerate( gvnlst) if listelement != 0] # Print the index list. print('The non zero elements indices in the given list are = ', nwlist)

**Output:**

The non zero elements indices in the given list are = [0, 1, 3, 4, 6, 8, 10, 12]

### Method #4: Using List Comprehension (User Input)

**Approach:**

- Give the number as user input using the int(input()) function and store it in a variable.
- Use the list comprehension and enumerate to find all non-zero elements indices in the given list.
- Print this indices list.
- The Exit of the Program.

**Below is the implementation:**

# Give the list as user input using list(),map(),input(),and split() functions. # Store it in a variable. gvnlst = list(map(int, input( 'Enter some random List Elements separated by spaces = ').split())) # Use the list comprehension and enumerate to find all non-zero elements # indices in the given list. nwlist = [index for index, listelement in enumerate( gvnlst) if listelement != 0] # Print the index list. print('The non zero elements indices in the given list are = ', nwlist)

**Output:**

Enter some random List Elements separated by spaces = 7 9 0 0 6 3 0 0 The non zero elements indices in the given list are = [0, 1, 4, 5]

**Related Programs**:

- python program to find the sum of elements in a list recursively
- python program to find the minimum difference between the index of two given elements present in an array
- python program to find the minimum index of a repeating element in an array list
- python program to find the missing number in an array list
- python program to find the odd occurring element in an array list
- python program to find the second largest number in a list
- python program to remove the ith occurrence of the given word in a list where words can repeat