我想創建一個百萬無序列表,xrange(1, 1000000)
例如給我一個有序列表。我認爲我需要像xrange這樣的東西,但是以無序的方式生成它。我想我可以通過圍繞random.randint
和一些手動檢查手動生成一個列表,以保證列表中的數字的唯一性,但我認爲這將是耗時的。有任何想法嗎?Python中的無序列表生成
0
A
回答
2
import random
L = range(1, 1000000)
random.shuffle(L) # shuffles in-place
上Python3,你將需要使用
L = list(range(1, 1000000))
random.shuffle(L) # shuffles in-place
2
使用來自與NumPy的random
模塊。具體np.random.permutation
>>> import numpy as np
>>> np.random.permutation(5)
array([2, 1, 0, 3, 4])
0
如果您使用numpy
您可以使用permutation
:
numpy.random.permutation(10)
>> array([1, 7, 6, 0, 5, 9, 2, 3, 8, 4])
相關問題
- 1. Python生成排序列表
- 2. python生成序列
- 3. forloop生成無序列表的輸出
- 4. 使用Python中的自定義步驟生成列表序列
- 5. 根據類別生成無序列表
- 6. 生成複雜無序列表PHP
- 7. 從JSON數據生成無序列表?
- 8. Python中的生成器和列表
- 9. Python生成器列表
- 10. 如何在python中生成列表的排列列表
- 11. Python - 從列表中生成元組
- 12. 在Python中生成實例列表
- 13. 生成子列表中所有的Python可能的列表
- 14. Mysql表序列生成
- 15. 生成網址到JavaScript中的無序列表
- 16. Python:生成列表輸出爲表
- 17. Python的隨機列表生成
- 18. 使用列表生成的python
- 19. 在Perl中從列表中生成無序對
- 20. 如何動態生成列表項到ASP.NET中的無序列表?
- 21. Python:使列表生成器JSON可序列化
- 22. 在序言中生成列表
- 23. 泛型系列生成無窮列表
- 24. Lisp中的列表生成
- 25. 根據.csv查詢列表在Python中生成URL列表
- 26. 如何從python列表中生成訂單列表項目
- 27. 從MySQL數據庫中使用PHP + CodeIgniter生成無序列表
- 28. 如何在asp.net中動態生成無序列表?
- 29. Python的列表生成器程序及規範
- 30. 如何從Python中的兩個列表中生成一個生成器?
這可以很容易地與'shuffle'解決,但是如果你不想在內存中存儲整個洗牌陣列並使用隨機就地迭代器,事情會變得棘手。 –
@rr:如果你想確保唯一性,我不確定你可以避免不將數組存儲在內存中。 – jmetz
@jmetz我對此也很感興趣。我添加了評論,以便OP知道這個限制,因爲他明確地使用了'xrange',並且顯然關心性能。 –