В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Цель из random.sample()
состоит в том, чтобы выбрать подмножество входной последовательности случайным образом, не выбирая ни одного элемента более одного раза. Если ваша последовательность ввода не имеет повторений, то и ваш вывод не будет.
Вы не ищете подмножество; вам нужен один случайный выбор из входной последовательности, повторяющийся несколько раз. Элементы могут использоваться несколько раз. Используйте random.choice()
в цикле для этого:
for i in range(y):
string = ''.join([random.choice(x) for _ in range(v)])
print string
Это создает строку длины v
, где символы из x
могут использоваться более одного раза.
Быстрая демонстрация:
>>> import string
>>> import random
>>> x = string.letters + string.digits + string.punctuation
>>> v = 20
>>> ''.join([random.choice(x) for _ in range(v)])
'Ms>V\\0Mf|W@R,#/.P~Rv'
>>> ''.join([random.choice(x) for _ in range(v)])
'TsPnvN&qlm#mBj-!~}3W'
>>> ''.join([random.choice(x) for _ in range(v)])
'{:dfE;VhR:=_~O*,QG<f'
@Martijn Pieters прав. Но поскольку они указаны в https://docs.python.org/3.4/library/random.html :
Предупреждение. Псевдослучайные генераторы этого модуля не следует использовать в целях безопасности. Используйте os.urandom () или SystemRandom, если вам нужен криптографически безопасный генератор псевдослучайных чисел.
blockquote>, и целью этого является создание паролей, я предлагаю такой подход:
import string import random set = string.letters + string.digits + string.punctuation length = 20 password = ''.join( [ random.SystemRandom().choice( set) for _ in range( length) ] ) print( password)
Кто-нибудь может подтвердить, что это более безопасно?
random.choice(chars)
Я запускаю свою версию этой программы прямо сейчас из любопытства
– motoku
20 February 2015 в 01:32
sample()
имеет другую i> цель. Представьте себе выбор 4 случайных карт из колоды карт. Вы не можете выбрать одну и ту же карту дважды, вам нужно выбрать 4 уникальные карты из колоды. Это образец. – Martijn Pieters♦ 31 December 2013 в 20:16numpy.random.choice
имеет возможность выбирать, следует ли выбирать с заменой или без нее, так что это может быть полезно, если вы имеете дело с структурами numpy. – BrenBarn 31 December 2013 в 20:28random.sample()
- это очень простая замена без i>, посколькуrandom.choice()
с циклом упрощает реализацию другого варианта. – Martijn Pieters♦ 31 December 2013 в 20:31random.sample
и «что образцом по определению является». – BrenBarn 31 December 2013 в 20:33