This commit is contained in:
Rohit Tanwar
2018-01-19 15:29:33 +05:30
parent 0c281b9dc1
commit 2b9ef1451d
3 changed files with 56 additions and 0 deletions

View File

@ -98,6 +98,7 @@ def spread(arg):
``` ```
```python ```python
@ -233,6 +234,33 @@ def min_n(arr, n=1):
min_n([1, 2, 3]) # [1] min_n([1, 2, 3]) # [1]
min_n([1, 2, 3], 2) # [1,2] min_n([1, 2, 3], 2) # [1,2]
``` ```
### shuffle
Randomizes the order of the values of an list, returning a new list.
Uses the [Fisher-Yates algorithm](https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle) to reorder the elements of the list.
```python
from copy import deepcopy
from random import randint
def shuffle(arr):
temp_arr = deepcopy(arr)
m = len(temp_arr)
while(m):
m -= 1
i = randint(0, m)
temp_arr[m], temp_arr[i] = temp_arr[i], temp_arr[m]
return temp_arr
```
``` python
foo = [1,2,3]
shuffle(foo) # [2,3,1] , foo = [1,2,3]
```
### spread ### spread
Implements javascript's spread syntax as a function. Flattens the list(non-deep) and returns an list. Implements javascript's spread syntax as a function. Flattens the list(non-deep) and returns an list.

View File

@ -24,6 +24,7 @@ def spread(arg):
``` ```
```python ```python

27
snippets/shuffle.md Normal file
View File

@ -0,0 +1,27 @@
### shuffle
Randomizes the order of the values of an list, returning a new list.
Uses the [Fisher-Yates algorithm](https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle) to reorder the elements of the list.
```python
from copy import deepcopy
from random import randint
def shuffle(arr):
temp_arr = deepcopy(arr)
m = len(temp_arr)
while(m):
m -= 1
i = randint(0, m)
temp_arr[m], temp_arr[i] = temp_arr[i], temp_arr[m]
return temp_arr
```
``` python
foo = [1,2,3]
shuffle(foo) # [2,3,1] , foo = [1,2,3]
```