Случайные строки в Python
123810 просмотра
11 ответа
Как вы создаете случайную строку в Python?
Мне нужно, чтобы это было число, затем повторение символов, пока вы не закончили, это то, что я создал
def random_id(length):
number = '0123456789'
alpha = 'abcdefghijklmnopqrstuvwxyz'
id = ''
for i in range(0,length,2):
id += random.choice(number)
id += random.choice(alpha)
return id
Автор: RHicke
Источник
Размещён: 12.11.2019 09:07
Ответы (11)
210 плюса
Генерация строк из (например) строчных букв:
import random, string
def randomword(length):
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(length))
Результаты:
>>> randomword(10)
'vxnxikmhdc'
>>> randomword(10)
'ytqhdohksy'
Автор: sth
Размещён: 08.01.2010 07:19
52 плюса
Поскольку этот вопрос довольно случайный, он может работать для вас:
>>> import uuid
>>> print uuid.uuid4()
58fe9784-f60a-42bc-aa94-eb8f1a7e5c17
Автор: Brandon
Размещён: 08.01.2010 07:32
31 плюса
>>> import random
>>> import string
>>> s=string.lowercase+string.digits
>>> ''.join(random.sample(s,10))
'jw72qidagk
Автор: ghostdog74
Размещён: 08.01.2010 07:53
15 плюса
Ответ на оригинальный вопрос:
os.urandom(n)
Цитата: http://docs.python.org/2/library/os.html
Автор: Tom Размещён: 11.08.2013 01:34Возвращает строку из n случайных байтов, подходящих для криптографического использования.
Эта функция возвращает случайные байты из специфического для ОС источника случайности. Возвращенные данные должны быть достаточно непредсказуемыми для криптографических приложений, хотя их точное качество зависит от реализации ОС. В UNIX-подобной системе это будет запрашивать / dev / urandom, а в Windows - CryptGenRandom. Если источник случайности не найден, будет вызвано NotImplementedError.
Простой в использовании интерфейс к генератору случайных чисел, предоставляемый вашей платформой, см. В разделе random.SystemRandom.
5 плюса
Вы можете создавать случайные символы ascii, такие как:
import random
print chr(random.randint(0,255))
А затем создайте более длинную строку вроде:
len = 50
print ''.join( [chr(random.randint(0,255)) for i in xrange(0,len)] )
Автор: Ross Rogers
Размещён: 08.01.2010 07:18
5 плюса
Вы на самом деле не много говорили о том, какой тип случайной строки вам нужен. Но в любом случае вам стоит заглянуть в random
модуль.
Очень простое решение вставлено ниже.
import random
def randstring(length=10):
valid_letters='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
return ''.join((random.choice(valid_letters) for i in xrange(length)))
print randstring()
print randstring(20)
Автор: MAK
Размещён: 08.01.2010 07:23
2 плюса
random_name = lambda length: ''.join(random.sample(string.letters, length))
длина должна быть <= len (string.letters) = 53. пример результата
>>> [random_name(x) for x in range(1,20)]
['V', 'Rq', 'YtL', 'AmUF', 'loFdS', 'eNpRFy', 'iWFGtDz', 'ZTNgCvLA', 'fjUDXJvMP', 'EBrPcYKUvZ', 'GmxPKCnbfih', 'nSiNmCRktdWZ', 'VWKSsGwlBeXUr', 'i
stIFGTUlZqnav', 'bqfwgBhyTJMUEzF', 'VLXlPiQnhptZyoHq', 'BXWATvwLCUcVesFfk', 'jLngHmTBtoOSsQlezV', 'JOUhklIwDBMFzrTCPub']
>>>
Наслаждаться. ;)
Автор: Spouk Размещён: 21.05.2015 05:421 плюс
Иногда я хотел, чтобы случайные строки были полуразборчивыми, полузабываемыми.
import random
def randomWord(length=5):
consonants="bcdfghjklmnpqrstvwxyz"
vowels="aeiou"
return "".join(random.choice((consonants,vowels)[i%2]) for i in range(length))
Затем,
>>> randomWord()
nibit
>>> randomWord()
piber
>>> randomWord(10)
rubirikiro
Чтобы избежать 4-буквенных слов, не устанавливайте length
на 4.
Джим
Автор: Jim Размещён: 28.11.2018 11:520 плюса
Установите этот пакет:
pip3 install py_essentials
И используйте этот код:
from py_essentials import simpleRandom as sr
print(sr.randomString(4))
Более подробная информация о методе и других параметрах доступна здесь.
Автор: phyyyl Размещён: 11.02.2018 11:400 плюса
Эта функция генерирует случайную строку, состоящую из прописных, строчных букв, цифр, разделителя длины, no_of_blocks для указания формата строки
Например: len_sep = 4, no_of_blocks = 4 сгенерирует следующий шаблон,
F4nQ-Vh5z-JKEC-WhuS
Где, разделитель длины добавит «-» после 4 символов
xxxx-
ни один из блоков не сгенерирует следующий набор символов в виде строки
XXXX - XXXX - XXXX - XXXX
если требуется одна случайная строка, просто оставьте переменную no_of_blocks равной 1 и len_sep, чтобы указать длину случайной строки.
Например: len_sep = 10, no_of_blocks = 1, будет генерировать следующий шаблон, т.е. случайная строка длиной 10 ,
F01xgCdoDU
import random as r
def generate_random_string(len_sep, no_of_blocks):
random_string = ''
random_str_seq = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
for i in range(0,len_sep*no_of_blocks):
if i % len_sep == 0 and i != 0:
random_string += '-'
random_string += str(random_str_seq[r.randint(0, len(random_str_seq) - 1)])
return random_string
Автор: Manoj Selvin
Размещён: 24.02.2018 05:28
0 плюса
import random
import string
def get_random_string(size):
chars = string.ascii_lowercase+string.ascii_uppercase+string.digits
''.join(random.choice(chars) for _ in range(size))
print(get_random_string(20)
вывод: FfxjmkyyLG5HvLeRudDS
Автор: Rakesh babu Размещён: 14.01.2019 02:24Вопросы из категории :
- python Обработка XML в Python
- python Как я могу использовать Python itertools.groupby ()?
- python Python: На какой ОС я работаю?
- python Как я могу создать непосредственно исполняемое кроссплатформенное приложение с графическим интерфейсом на Python?
- python Вызов функции модуля с использованием его имени (строки)
- python Звук Питона («Колокол»)
- python Regex и unicode
- python Создать зашифрованный ZIP-файл в Python
- python Создайте базовый итератор Python
- python Функция транспонирования / распаковки (обратная сторона zip)?
- python Каков наилучший способ разбора аргументов командной строки?
- python Формат чисел в строки в Python
- python Как загрузить файл через HTTP с помощью Python?
- python Is there any difference between "foo is None" and "foo == None"?
- python Как запустить сценарий Python как службу в Windows?
- python Нахождение каких методов у объекта Python
- python Как отсортировать список строк?
- python Что ** (двойная звезда / звездочка) и * (звездочка / звездочка) делают для параметров?
- python What is the purpose of class methods?
- python Какой лучший способ вернуть несколько значений из функции в Python?