Get list of "n" unique random numbers from the given range

Riley M

I need 3 unique random numbers between 1 to 20.

I have a loop generating 3 random numbers from 1-20. And I don't want there to be any repeats. I have something that works for the first two numbers. But in my code the first and third numbers can still be the same which needs to be fixed.

i = 1

while i <= 3:
    x = random.randint(1, 20)
    print(choice([i for i in range(1, 20) if i != [x]]))
    i += 1

Is there a better way to achieve this in Python?

Moinuddin Quadri

You can use random.sample(). Below example will return you 3 unique random numbers between 1 to 20.

>>> import random

>>> sample_count = 3   # count of required unique numbers
>>> start_range, end_range = 1, 20  # start and end range

>>> random.sample(range(start_range, end_range+1), sample_count)
[4, 1, 14]

Please refer random.sample() documentation for more details.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

How to get n unique numbers uniformly from a given range?

Generate 'n' unique random numbers within a range

Finding unique elements from the list of given numbers

Generate random numbers from a distribution given by a list of numbers in python

Choose random numbers from a range except numbers in a list

how to get unique 30 random numbers from a list using VBA code

List comprehension for multiplying each string in a list by numbers from given range

Get Unique name list from name range

(Prolog) Get numbers within a range from a list

Get a list of numbers from range(s) of number

Create list with random and unique numbers

Array of random numbers with sum in given range?

Generating random integer and real numbers in a given range

How to get unique numbers from Math.random in javascript?

how to generate unique random numbers with a specific range

Generating and storing unique and random numbers within a range

Maximize the number of unique random numbers in a range

Random numbers from specific range

How to generate random numbers from the given numbers

Create mapping from numbers to range of unique numbers

Random number generator doesn't produce expected numbers within a given range using values from input fields

How do I get random values in a list to be unique by at least a given amount by each value in the list in Python?

Prolog: Return a list of numbers from 0 to N given N

Scala Random Number Generator Not Producing Unique Random Numbers Between A Range

how to get unique random values from a list within a for loop?

How to print out numbers from a range generator that are not divisible by any numbers in a given list

Get N random equidistant points from a given point

How to select random values from a given range

Generating random BigDecimal value from given range