shuffle
ランダムパッケージから使用できます:
import random
letters = list(still_to_scramble)
random.shuffle(letters)
scrambled = ''.join(letters)
仕組みは次のとおりです。
>>> s
'$123abc$'
>>> first_letter = s[0]
>>> last_letter = s[-1]
>>> middle_parts = list(s[1:-1])
>>> random.shuffle(middle_parts)
>>> ''.join(middle_parts)
'b3a2c1'
注意して、これを行わないでください:
>>> middle_parts_random = random.shuffle(middle_parts)
shuffle
所定の位置で機能します-これは、シャッフルされたビットを返さないが、代わりに変更するという素晴らしい言い方です。それは実際に戻りますNone
、そしてあなたはエラーを見ないのであなたはそれによってつまずくかもしれません:
>>> middle_parts_random = random.shuffle(middle_parts)
>>> middle_parts_random # Huh? nothing is printed!
>>> middle_parts_random == None # Ah, that's why. Darn you in-place methods!
True