Learn how to use Python’s random sample() function to select multiple items from any sequence such as a list, tuple or string. Discover various ways to generate random integers, floating point values, and samples from Python dictionary.
I. How to use it?
The python random module provides the sample() function which can be used to choose multiple items from any sequence (such as a list, tuple, or string). The sample() function takes two arguments: the population from which to select items and the number of items to select. Here is an example of how to use the sample() function to select 3 items from a list:
import random my_list = [1, 2, 3, 4, 5, 6] random_items = random.sample(my_list, 3) print(random_items)
II. Generate the sampled list of random integers
It is also possible to generate a list of random integers using the sample() function. The following example shows how to generate a list of 5 random integers between 1 and 10:
import random random_ints = random.sample(range(1, 11), 5) print(random_ints)
III. Using Random Module in Python
In addition to the sample() function, the random module in Python also provides a variety of other functions for generating random numbers and selecting random items from sequences. Here are a few examples:
IV. Random sample from Python dictionary
It is also possible to select random items from a Python dictionary. Here is an example that selects 3 random items from a dictionary:
import random my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5} random_items = random.sample(my_dict.items(), 3) print(random_items)
V. Generating random floating point values
The random module also provides the uniform() function for generating random floating point values between a given range. Here is an example that generates a random float between 0 and 1:
import random random_float = random.uniform(0, 1) print(random_float)
VI. Random sample with replacement to include repetitions
The sample() function by default samples without replacement, but it is possible to sample with replacement by setting the replace
argument to True
. Here is an example that samples 3 items from a list with replacements:
import random my_list = [1, 2, 3, 4, 5, 6] random_items = random.sample(my_list, 3, replace=True) print(random_items)
VII. Random seed to get the same sample list every time
To generate the same random numbers every time, you can use the random.seed() function. This function takes an integer as an argument, and initializes the random number generator with the given value. Here is an example that generates a list of 5 random integers between 1 and 10, and then generates the same list again using the same seed value:
import random random.seed(123) random_ints1 = random.sample(range(1, 11), 5) random.seed(123) random_ints2 = random.sample(range(1, 11), 5) print(random_ints1) print(random_ints2)
VIII. Computing normally distributed numbers with random.gauss()
The random module provides the random.gauss() function for generating random numbers from a normal distribution (also known as a Gaussian distribution or a bell curve). The function takes two arguments, the mean and the standard deviation of the distribution. Here is an example that generates a list of 5 random numbers from a normal distribution with a mean of 0 and a standard deviation of 1:
import random random_nums = [random.gauss(0, 1) for _ in range(5)] print(random_nums)
IX. Picking random items in a list using random.choice()
The random module also provides the random.choice() function for picking a random item from a list or sequence. Here is an example that picks a random item from a list:
import random my_list = [1, 2, 3, 4, 5, 6] random_item = random.choice(my_list) print(random_item)
X. Generating random integers using random.randint()
The random module also provides the random.randint() function for generating a random integer between two given values. Here is an example that generates a random integer between 1 and 10:
import random random_int = random.randint(1, 10) print(random_int)
XI. Randomly rotating items in a list using random.shuffle()
The random module also provides the random.shuffle() function for randomly shuffling the items in a list. Here is an example that shuffles the items in a list:
import random my_list = [1, 2, 3, 4, 5, 6] random.shuffle(my_list) print(my_list)
XII. A random sample from the Python set
It is also possible to select random items from a Python set using the sample() function. Here is an example that selects 3 random items from a set:
import random my_set = {1, 2, 3, 4, 5, 6} random_items = random.sample(my_set, 3) print(random_items)
Conclusion
In this article, we have covered the various ways in which we can use the random.sample() function in Python to select multiple items from any sequence. We also looked at other useful functions provided by the random module, such as random.gauss(), random.choice(), random.randint(), random.shuffle(), random.seed() for generating random numbers and selecting random items from sequences. With the help of these functions, we can generate random numbers and select random items from any sequence in an easy and efficient way.