リスト内の各要素を任意の時間に複製する方法が不思議です。そうリストの各要素を任意の時間に複製する
l = ['a', 'b', 'c']
新しいリストでl
結果内の重複する要素に、
n = ['a', 'a', 'a', 'a', 'b', 'b', 'c', 'c', 'c']
'' 二回、一回 'B'、3回複製された 'C'。各要素の重複数は、numpy.random.poisson
によって決定される。 numpy.random.poisson(2)
。ここで
リスト内の各要素を任意の時間に複製する方法が不思議です。そうリストの各要素を任意の時間に複製する
l = ['a', 'b', 'c']
新しいリストでl
結果内の重複する要素に、
n = ['a', 'a', 'a', 'a', 'b', 'b', 'c', 'c', 'c']
'' 二回、一回 'B'、3回複製された 'C'。各要素の重複数は、numpy.random.poisson
によって決定される。 numpy.random.poisson(2)
。ここで
乗算list
にnumpy.random.poisson(2)
から返された値、join
それを、それを飼料と、リスト内の各要素:ので
['a', 'b', 'b', 'b', 'b', 'b', 'b', 'c', 'c', 'c']
:
r = list(''.join(i*random.poisson(2) for i in l))
1回のランの場合、これはランダムになりますいずれかの方法でnp
を使用すると、私はDivakarのソリューション(あなたの例よりも大きなリストの方が速く実行されます)に行きます。私はちょうど `np.random.poisson場合` np.random.poisson(2) '' 0 'に等しいかもしれないが、私は、リストの各要素を維持したい、いくつかの要素が欠落してもよいことを理解
>>> l = ['a', 'b', 'c']
>>> n = []
>>> for e in l:
... n.extend([e] * numpy.random.poisson(2))
...
>>> n
['a', 'a', 'b', 'c']
([2]) 'は' 0'ですか、それを避けるには? – daiyue
@daiyueこのような場合を避けるためにメモを追加しました。 – Divakar