mirror of
https://github.com/sbrl/research-rainfallradar
synced 2024-11-17 15:12:59 +00:00
18 lines
458 B
Python
18 lines
458 B
Python
from copy import deepcopy
|
|
from random import randint
|
|
|
|
|
|
def shuffle(lst):
|
|
"""
|
|
Shuffles a list with the Fisher-Yates algorithm.
|
|
@ref https://poopcode.com/shuffle-a-list-in-python-fisher-yates/
|
|
@param lst list The list to shuffle.
|
|
@return list The a new list that is a shuffled copy of the original.
|
|
"""
|
|
tmplist = deepcopy(lst)
|
|
m = len(tmplist)
|
|
while (m):
|
|
m -= 1
|
|
i = randint(0, m)
|
|
tmplist[m], tmplist[i] = tmplist[i], tmplist[m]
|
|
return tmplist
|