- Python Basic Tutorial
- Python - Home
- Python - Overview
- Python - Environment Setup
- Python - Basic Syntax
- Python - Comments
- Python - Variables
- Python - Data Types
- Python - Operators
- Python - Decision Making
- Python - Loops
- Python - Numbers
- Python - Strings
- Python - Lists
- Python - Tuples
- Python - Dictionary
- Python - Date & Time
- Python - Functions
- Python - Modules
- Python - Files I/O
- Python - Exceptions

# How to pick a random number not in a list in Python?

In this article, we will show you how to pick a random number not in a list in python. Below are the various methods to accomplish this task −

- Using random.choice() function
- Using random.choice() function and List Comprehension
- Using random.choice() & set() functions
- Using random.randrange() function

## Using random.choice() function

The random.choice() method returns a random element from the specified sequence. The sequence could be a string, a range, a list, a tuple, or anything else.

### Syntax

random.choice(sequence)

### Parameters

**sequence** − any sequence like list, tuple etc.

### Algorithm (Steps)

Following are the Algorithm/steps to be followed to perform the desired task −

Use the import keyword to import the

**random**module.Create a variable to store the input list and give some dummy values to it.

Use the

**max()**function(returns the highest-valued item/greatest numbers in an iterable) to get the maximum element from the input list.Create a new list(Empty list) to store the values that are not in the given list.

Loop from 0 to the max element using the for loop.

Inside the loop, check whether the iterator value is not present in the given list using the not in operator.

If it is not in the given list then add this element to the new list using the append() function.

select a random element from it using the random.choice() method(This function returns a random element from the specified sequence i.e list here).

Print the random element which is

**not in**the list.

### Example

The following program returns the random element which is not in the input list using random.choice() function −

# importing random module import random # input list inputList = [3, 10, 5, 9, 2] print("Input List =",inputList) # getting the maximum/greatest element from the list max_element = max(inputList) # Taking an empty list to store elements that are not in the list newList = [] # Looping from 0 to max element using the for loop for i in range(max_element): # Checking whether the number is not in the given list if i not in inputList: # If it is not in the given list then add it to the newList newList.append(i) # Get the random number from the newlist using the choice() function of the random module randomElement = random.choice(newList) # printing the random element which is not in the list print("Random element which is not in the list = ", randomElement)

### Output

On executing, the above program will generate the following output −

Input List = [3, 10, 5, 9, 2] Random element which is not in the list = 8

## Using random.choice() function and List Comprehension

### Algorithm (Steps)

Following are the Algorithm/steps to be followed to perform the desired task −

Loop from 0 to the max element and select elements that are not in list using the not in operator and select a random element from it using the random.choice() method.

Print the random element which is not in the list.

### Example

The following program returns the random element which is not in the input list using random.choice() function and list comprehension −

# importing random module import random # input list inputList = [3, 10, 5, 9, 2] print("Input List =",inputList) # getting the maximum/greatest element from the list max_element = max(inputList) # Get all the numbers from 0 to max_element that are not present in the list # Selecting a random element from those elements using the choice() function randomElement = random.choice([e for e in range(max_element) if e not in inputList]) # printing the random element which is not in the list print("The random element which is not in the list = ", randomElement)

### Output

On executing, the above program will generate the following output −

Input List = [3, 10, 5, 9, 2] The random element which is not in the list = 7

## Using random.choice() & set() functions

### Algorithm (Steps)

Following are the Algorithm/steps to be followed to perform the desired task −

Using the

**set() function**(creates a set object. A set list will appear in random order because the items are not ordered. It removes all the duplicates) and**range() functions**, obtain the set of numbers ranging from the lowest element of the input list to the highest element. Subtract this set from the set of the input list to remove the common elements, then convert it to a list and choose a random element from it using the random.choice() function.Print the random element which is not in the list

### Example

The following program returns a random element not in the given input list in python using the random.choice() and set() functions −

# importing random module import random # input list inputList = [3, 10, 5, 9, 2] print("Input List = ",inputList) # Getting the set of numbers from min element of the input list to the maximum element using set() and range() functions # Subtracting this set from the set of the input list to remove the common elements # Converting this to a list and selecting a random element from this list randomElement = random.choice(list(set(range(min(inputList)+1, max(inputList)))-set(inputList))) # printing the random element which is not in the list print("Random element which is not in the list = ", randomElement)

### Output

On executing, the above program will generate the following output −

Input List = [3, 10, 5, 9, 2] Random element which is not in the list = 4

## Using random.randrange() function

### Algorithm (Steps)

Following are the Algorithm/steps to be followed to perform the desired task −

Use the

**while**loop to run the loop infinite times by setting the condition as True.Use the

**randrange()**function(Returns a random number within the specified range)) to get the random element between 1 to 100.Use the if conditional statement to check whether the generated random element is not present in the list using the not and in operators.

Use the break statement to break the loop if the condition is true(It means we found an element that is not in the given list).

Print the random element which is not in the list

### Example

The following program returns a random element not in the given input list in python using the random.randrange() function–

# importing random module import random # input list inputList = [3, 10, 5, 9, 2] print("Input List =", inputList) # Running the loop infinite times while True: # getting the random element from 1 to 100 randomElement=random.randrange(1, 100) # checking whether the generated random element is not present in the list if randomElement not in inputList: # breaking the loop if the condition is true break # printing the random element which is not in the list print("The random element which is not in the list = ", randomElement)

### Output

On executing, the above program will generate the following output −

Input List = [3, 10, 5, 9, 2] The random element which is not in the list = 96

## Conclusion

In this article, we learned how to use Python's four different methods to select a random element that is not in the given list. We also learned how to remove duplicates using the set() function.

- Related Articles
- Generating random number list in Python
- Python – Random range in a List
- Random Pick Index in C++
- Random Pick with Blacklist in C++
- Random Pick with Weight in C++
- Select random number from a specific list in MySQL?
- JavaScript - How to pick random elements from an array?
- How to generate a random number in C++?
- How to generate a random number in JavaScript?
- How to sort a random number array in java?
- Generate n random numbers between a range and pick the greatest in JavaScript
- Random Number Functions in Python
- Python program to generate random numbers within a given range and store in a list?
- How to select a random element from a C# list?
- Python Generate random numbers within a given range and store in a list