перемешать строку в питоне - PullRequest
40 голосов
/ 19 апреля 2010

Я ищу функцию или короткую программу, которая получает строку (до 10 букв) и перемешивает ее.

Ответы [ 3 ]

84 голосов
/ 19 апреля 2010
>>> import random
>>> s="abcdef123"
>>> ''.join(random.sample(s,len(s)))
'1f2bde3ac'
52 голосов
/ 19 апреля 2010

В случайном модуле есть функция shuffle . Обратите внимание, что он перемешивается на месте, поэтому сначала необходимо преобразовать строку в список символов, перемешать ее, а затем снова присоединить результат.

import random
l = list(s)
random.shuffle(l)
result = ''.join(l)
0 голосов
/ 18 июня 2018

Python Предоставляет различные решения для перемешивания строки:

1. Внешняя библиотека: python-string-utils

  • сначала установите библиотеку python-string-utils
    • pip install python_string_utils
  • использовать функцию string_utils.shuffle () для перемешивания строки
  • используйте для этого приведенный ниже фрагмент

Фрагмент кода

import string_utils
print string_utils.shuffle("random_string")

Выход:

drorntmi_asng

2. Встроенный метод: random.shuffle

Пожалуйста, найдите код ниже, чтобы перемешать строку. Код возьмет строку и преобразует эту строку в список. Затем перемешайте содержимое строки и напечатайте строку.

import random
str_var = list("shuffle_this_string")
random.shuffle(str_var)
print ''.join(str_var)

Выход:

t_suesnhgslfhitrfi_

3. Внешняя библиотека: Numpy

import numpy
str_var = list("shuffle_this_string")
numpy.random.shuffle(str_var)
print ''.join(str_var)

Выход:

nfehirgsu_slftt_his
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...