# Python Random

The Python Random Library is used to introduce random numbers into your code. This tutorial explains how to use the Random library and it’s various functions.

### Python Random Seed Function

Before we begin executing any random functions the random number generator must be initialized. By default, Python will use the system time to do so. However, we can also use the `seed()` function to customize the sequence.

The seed() function takes as input a number, and accordingly initializes the random number generator. (Using the same seed value will generate the same sequence.

```import random

random.seed(5)
print(random.random())

random.seed(5)
print(random.random())
```
``````# OUTPUT
0.6229016948897019
0.6229016948897019``````

### Python Random randint() Function

The `randint()` function returns a random integer from between the two given values.

```import random

print(random.randint(1, 9))
print(random.randint(1, 9))
```
``````# OUTPUT
5
3``````

It’s first parameter is `1`, the start point. The second parameter is `9`, the end point.

### Python Random randrange() Function

Almost identical to the `randint()` Function, with the addition of an extra optional parameter. This third parameter is the “increment” between random values produced. Default value is one.

```print(random.randrange(3, 9,2))
print(random.randrange(3, 9,2))
print(random.randrange(3, 9,2))
print(random.randrange(3, 9,2))
print(random.randrange(3, 9,2))
print(random.randrange(3, 9,2))
```
``````5
3
7
5
3
5``````

As you can see, there is always a difference of 2 between all the values produced.

### Python Random choice Function

The `Choice()` function picks a random value from a given sequence. Examples of such sequences are lists, strings, tuples, range or dictionaries.

```dict1 = {1:"Apple", 2:"Cherry", 3:"Mango"}

print(random.choice(dict1))
```
```list1 = ["Apple", "Grapes", "Bananas"]

print(random.choice(list1))
```
```string = "PROGRAMMING"

print(random.choice(string))
```

### Python Random Sample Function

The sample function takes from a sequence, a random sample of size “k”, where k is an integer. The returned value is in the form of a list.

```mylist = ["Apples", "Bananas", "Cherry","Grapes","Mangos"]

print(random.sample(mylist, k=2))
print(random.sample(mylist, k=2))
```
``````['Cherry', 'Apples']
['Grapes', 'Bananas']``````

### Python Random Shuffle Function

The `shuffle()` takes a sequence as it’s parameters, and shuffles the values in it randomly. Use with caution as it does not return a new list, instead altering the current one.

```list1 = ["Apple", "Grapes", "Bananas","Grapes"]
random.shuffle(list1)
print(list1)
```
``````# OUTPUT
['Bananas', 'Apple', 'Grapes', 'Grapes']``````

### Python Random random Function

The `random` function returns a random float value between 0.0 and 1.0.

```print(random.random())
```
``0.34632604177535975``

### Python Random Uniform Function

The `uniform()` function returns a random float value between two numbers. It takes these two numbers, the start and end point, as parameters.

```print(random.uniform(1,100))
print(random.uniform(1,100))
```
``````# OUTPUT
67.71518613166376
19.740520613821747``````

### Other Random Functions

The Python Random library has a lot of functions, however we’ve only covered the main ones in detail here. Some of the other lesser used ones are mentioned in the table below.

Note: Just because they are less used does not mean they are useless. The functions below are highly specialized and how niche uses. Only a small minority of people will actually ever need to use these.