w3resource

Python Challenges: Find missing numbers from a list

Python Challenges - 1: Exercise-8 with Solution

Write a Python program to find missing numbers from a list.

Explanation:

Python: Find a missing numbers from a list

Sample Solution:-

Python Code:

def missing_numbers(num_list):
      original_list = [x for x in range(num_list[0], num_list[-1] + 1)]
      num_list = set(num_list)
      return (list(num_list ^ set(original_list)))

print(missing_numbers([1,2,3,4,6,7,10]))
print(missing_numbers([10,11,12,14,17]))

Sample Output:

[5, 8, 9]                                                                                                     
[13, 15, 16] 

Flowchart:

Python Flowchart: Find a missing numbers from a list

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:

Contribute your code and comments through Disqus.

Previous: Write a Python program to find a missing number from a list.
Next: Write a Python program to find three numbers from an array such that the sum of three numbers equal to zero.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Calling an external command from Python:

The subprocess module in the standard library:

Example:

import subprocess
subprocess.run(["ls", "-l"])

The advantage of subprocess vs. system is that it is more flexible (you can get the stdout, stderr, the "real" status code, better error handling, etc...).

The official documentation recommends the subprocess module over the alternative os.system():

The subprocess module provides more powerful facilities for spawning new processes and retrieving their results; using that module is preferable to using this function [os.system()].

The Replacing Older Functions with the subprocess Module section in the subprocess documentation may have some helpful recipes.

For versions of Python before 3.5, use call:

import subprocess
subprocess.call(["ls", "-l"])

Ref: https://bit.ly/2ANeuPR