shuffle string in python

后端 未结 4 1923
春和景丽
春和景丽 2020-11-27 17:59

I am looking for a function or short program that receives a string (up to 10 letters) and shuffles it.

相关标签:
4条回答
  • 2020-11-27 18:12

    you can use more_itertools.random_permutation

    from more_itertools import random_permutation
    
    s = 'ABCDEFGHIJ'
    ''.join(random_permutation(s))
    

    output:

    'DFJIEABGCH'
    
    0 讨论(0)
  • 2020-11-27 18:22

    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)
    
    0 讨论(0)
  • 2020-11-27 18:30

    Python Provides the various solutions to shuffle the string:

    1. External library: python-string-utils

    • first install the python-string-utils library
      • pip install python_string_utils
    • use string_utils.shuffle() function to shuffle string
    • please use the below snippet for it

    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
    
    0 讨论(0)
  • 2020-11-27 18:33
    >>> import random
    >>> s="abcdef123"
    >>> ''.join(random.sample(s,len(s)))
    '1f2bde3ac'
    
    0 讨论(0)
提交回复
热议问题