shuff打乱排序

import random
alist=[1,2,3,4,5,6,7]
random.shuffle(alist,random=None)
def shuffle(self, x, random=None):
        if random is None:
            randbelow = self._randbelow
            for i in reversed(range(1, len(x))):
                # pick an element in x[:i+1] with which to exchange x[i]
                j = randbelow(i+1)
                x[i], x[j] = x[j], x[i]
        else:
            _int = int
            for i in reversed(range(1, len(x))):
                # pick an element in x[:i+1] with which to exchange x[i]
                j = _int(random() * (i+1))
                x[i], x[j] = x[j], x[i]
shuffle源码

源码没有返回值,打乱的是原列表,所以不能print (random.shuffle(alist,random=None))

posted @ 2019-05-30 12:08  bin-y  阅读(135)  评论(0编辑  收藏  举报