nwlist: 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:
nwlist: 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.
- Python Program to Get the index of an item in List – 3 Easy ways
- How to Create an Empty List in Python? – 2 Simple Methods
- Python How to Find all Indexes of an Item in a 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