読者です 読者をやめる 読者になる 読者になる

素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

配列のシャッフル

追記:from random import shuffle

from random import random

shuffle = lambda lis: [i[1] for i in sorted([[random(), i] for i in lis], lambda x, y: cmp(x[0], y[0]))]

shuffle(range(10)) # [9, 1, 2, 3, 0, 8, 7, 5, 6, 4]

list#sortは破壊的なので、sortedを使った。sortedの第二引数に渡す関数は、-1か1を返す必要があるようだ。
JavaScriptみたいにTrueかFalseだったらlambda x, y: x[0] > y[0]とかできて便利なんだけどなあ。