I am looking for a function or short program that receives a string (up to 10 letters) and shuffles it.
you can use more_itertools.random_permutation
from more_itertools import random_permutation
s = 'ABCDEFGHIJ'
''.join(random_permutation(s))
output:
'DFJIEABGCH'
There is a function shuffle in the random module. Note that it shuffles in-place so you first have to convert your string to a list of characters, shuffle it, then join the result again.
import random
l = list(s)
random.shuffle(l)
result = ''.join(l)
1. External library: python-string-utils
Code Snippet
import string_utils
print string_utils.shuffle("random_string")
Output:
drorntmi_asng
2. Builtins Method: random.shuffle
Please find the code below to shuffle the string. The code will take the string and convert that string to list. Then shuffle the string contents and will print the string.
import random
str_var = list("shuffle_this_string")
random.shuffle(str_var)
print ''.join(str_var)
Output:
t_suesnhgslfhitrfi_
3. External Library: Numpy
import numpy
str_var = list("shuffle_this_string")
numpy.random.shuffle(str_var)
print ''.join(str_var)
Output:
nfehirgsu_slftt_his
>>> import random
>>> s="abcdef123"
>>> ''.join(random.sample(s,len(s)))
'1f2bde3ac'