w3resource

Python: Move all zero digits to end of a given list of numbers

Python List: Exercise - 65 with Solution

Write a Python program to move all zero digits to the end of a given list of numbers.

Sample Solution:-

Python Code:

def test(lst):
    result = sorted(lst, key=lambda x: not x) 
    return result
nums = [3,4,0,0,0,6,2,0,6,7,6,0,0,0,9,10,7,4,4,5,3,0,0,2,9,7,1]
print("\nOriginal list:")
print(nums)
print("\nMove all zero digits to end of the said list of numbers:")
print(test(nums)) 

Sample Output:

Original list:
[3, 4, 0, 0, 0, 6, 2, 0, 6, 7, 6, 0, 0, 0, 9, 10, 7, 4, 4, 5, 3, 0, 0, 2, 9, 7, 1]

Move all zero digits to end of the said list of numbers:
[3, 4, 6, 2, 6, 7, 6, 9, 10, 7, 4, 4, 5, 3, 2, 9, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Flowchart:

Flowchart: Move all zero digits to end of a given list of numbers

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:


Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to iterate over two lists simultaneously.
Next: Write a Python program to find the list in a list of lists whose sum of elements is the highest.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.

Python: Tips of the Day

Returns True if the provided function returns True for every element in the list, False otherwise:

Example:

def tips_every(lst, fn=lambda x: x):
  return all(map(fn, lst))

print(tips_every([2, 4, 3], lambda x: x > 1))
print(tips_every([1, 2, 3]))

Output:

True
True