6

x 個の一意の乱数のセットを生成し、Python で並べ替えたいと思います。例: 範囲 (1000, 10000) x = 100

random をインポートして random.randrange メソッドを使用し、ループして 100 個の乱数を取得し、最後にそれらを並べ替えることがわかりました。

ただし、(繰り返されないように)一意の番号を取得する方法がわかりません-すべてのループを検証する必要がありますか?または、それを行うための他の簡単な方法はありますか?そして、それらをどのように並べ替える必要がありますか?

4

2 に答える 2

11

使用するrandom.sample

numbers = random.sample(xrange(1000, 10000), 100)  # or `range` in Python 3

ソート部分は簡単です -list.sortメソッドを使用してください。

numbers.sort()

デフォルトでは、これは最小の数値から最大の数値へと並べ替えますが、key何を並べ替えるかを決定するオプションの引数を取ります。

sortedリストをその場で変更せず、ソートされたリストを返す関数もあります。

numbers_sorted = sorted(numbers)

これにはオプションのkey引数もあります。

于 2013-02-07T10:34:35.470 に答える