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.

Function | Description |
---|---|

`getstate()` | Returns the current internal state of the random number generator |

`setstate()` | Restores the internal state of the random number generator |

`getrandbits()` | Returns a random number representing the bits given as input parameters. |

`choices()` | Returns a list with a random selection of elements from a sequence. Has the option for “weights” as well. |

`gauss()` | Returns a random float number between 0 and 1 based on the Gaussian distribution. Used often in machine learning and AI. |

`betavariate()` | Returns a random float number between 0 and 1 based on the Beta Distribution. |

`normalvariate()` | Returns a random float number between 0 and 1 based on the normal distribution. A concept also taught in statistics. |

`gammavariate()` | Returns a random float number between 0 and 1 based on the Gamma distribution. |

Link to the Python Libraries Compilation: *link*

Link to the Random Library docs for more info: *link*

This marks the end of the Python Random Library Article. Suggestions and Contributions for CodersLegacy are more than welcome. Any relevant questions regarding this article can be asked in the comments section below.