0

xrange(1, 1000000)たとえば、順序付きリストが得られるなど、100万個の順序なしリストを作成したいと思います。xrange のようなものが必要だと思いますが、順不同で生成します。リスト内の番号の一意性を保証するために、ループを繰り返して手動でチェックすることでリストを手動で生成できると思いますがrandom.randint 、時間がかかると思います。何か案は?

4

3 に答える 3

3
import random
L = range(1, 1000000)
random.shuffle(L)  # shuffles in-place

Python3では、使用する必要があります

L = list(range(1, 1000000))
random.shuffle(L)  # shuffles in-place
于 2014-04-30T10:39:37.477 に答える
3

randomNumPyのモジュールを使用します。具体的にはnp.random.permutation

>>> import numpy as np
>>> np.random.permutation(5)
array([2, 1, 0, 3, 4])
于 2014-04-30T10:39:46.800 に答える
0

使用している場合は、numpy次を使用できますpermutation

numpy.random.permutation(10)
>> array([1, 7, 6, 0, 5, 9, 2, 3, 8, 4])
于 2014-04-30T10:40:42.213 に答える