博客也是看到了一个面试题,然后去找了洗牌算法的资料,最后自己写了一个代码。(如果想了解洗牌算法,可以去这篇文章点我)
代码:
# 洗牌算法
import random
def shuffel(lst):
l = len(lst)
if l <= 1:
return lst
i = 0
while l > 1:
p = int(random.random()*l)
lst[i], lst[i+p] = lst[i+p], lst[i]
i += 1
l -= 1
return lst
print(shuffel([1, 2, 2, 3, 3, 4, 5, 10]))