Article de référence: Tous les éléments se déplacent (ne restent pas dans la même position) shuffle J'ai pensé que ce serait impoli de commenter autant les articles d'autres personnes, alors j'ai fait un autre article.
J'ai écrit quelque chose comme ça. Une fonction qui renvoie une liste aléatoire.
python
import random
def shuffle_all_move( items ):
length = len( items )
res = [ 0 ] * length
rand_ord = random.sample( range( length ), k=length )
for i in range( length ) :
res[ rand_ord[ i ] ] = items[ rand_ord[ ( i + 1 ) % length ] ]
return res
Je me suis demandé ce qui se passerait si j'écrivais ceci dans un style lambda.
au fait,
Résultats de divers essais:
[]
. Si c'est
()
`, cela devient un générateur et chaque élément n'est pas évalué.)C'était ça.
python
import random
shuffle_all_move = ( lambda items :
( lambda
length = len( items )
, res = [ 0 ] * len( items )
, rand_ord = random.sample( range( len( items ) ), k=len( items ) )
:
(
[ ( res.pop( rand_ord[ i ] )
, res.insert(rand_ord[ i ], items[ rand_ord[ ( i + 1 ) % length ] ])
) for i in range( length )
]
, res
)[-1]
)()
)
Recommended Posts