如何在python中重新创建Ruby的sort_by {兰德}?

ulydmbyx  于 2022-12-17  发布在  Python
关注(0)|答案(2)|浏览(74)

我有一行代码,可以将数组排序为随机顺序:
someArray.sort_by {rand}
那么在python中,我怎么把它转换成python代码呢?

mlnl4t2r

mlnl4t2r1#

也许你正在寻找这个:

import random
l = [1, 2, 3]
# l is shuffled in place
random.shuffle(l)
# Print to see the shuffled l
print(l)
uwopmtnx

uwopmtnx2#

在阅读了@Aidis answer的评论之后,看起来你想要一个加密安全版本的random.shuffle,这就是我使用urandom得出的结论:

import os

def urandom_shuffle(array):
    random = [os.urandom(8) for _ in range(len(array))]
    return [x for _, x in sorted(zip(random,array))]

array = [1,2,3,4,5,6,7,8,9]

print(urandom_shuffle(array))

相关问题