4
A
回答
9
如果值是哈希的,刪除重複的最簡單,最笨的方法是使用一個set
:
values = mygenerator()
unique_values = set(values)
但是要注意:套不記得是什麼命令值最初所以這會擾亂序列。
爲了您的目的,下面的函數可能會比set
更好。它過濾掉重複沒有得到任何其他值的亂序:
def nub(it):
seen = set()
for x in it:
if x not in seen:
yield x
seen.add(x)
呼叫nub
有一個說法,可哈希值的任何迭代。它返回一個迭代器,它產生所有相同的項目,但刪除了重複項。
+0
+1,很好的裝飾者 – fmark 2010-11-20 00:21:30
3
itertools.groupby()
如果您願意做一些工作,可以摺疊相鄰的重複項。
print [x[0] for x in itertools.groupby([1, 2, 2, 3])]
+0
儘管輸入應該排序,但仍然非常好! – Ale 2015-03-10 19:25:49
相關問題
- 1. python中的複雜生成器
- 2. Ruby生成器與Python生成器
- 3. 如何爲Python製作tripcode生成器?
- 4. Python生成器timeit
- 5. python html生成器
- 6. QR code複製/生成
- 7. 複雜查詢生成器
- 8. Python生成器行爲
- 9. 隨機字生成器python
- 10. Python生成器遍歷樹
- 11. 暫停Python生成器
- 12. Python文檔生成器
- 13. Python生成器截止
- 14. Python的JavaScript生成器
- 15. Python生成器列表
- 16. 什麼是python生成器?
- 17. Python隨機數生成器
- 18. Python修改生成器
- 19. Python網格生成器
- 20. Python素數生成器
- 21. 類中的python生成器
- 22. python 2.7字生成器
- 23. Python生成器 - float((yield))?
- 24. Python代碼生成器
- 25. Python短url生成器
- 26. Python生成器和減少
- 27. 關於Python生成器
- 28. Python生成器中的GeneratorExit
- 29. Python後綴生成器
- 30. Python生成Python
顯示一些代碼...我們甚至不知道你的發電機應該做什麼。 – ThiefMaster 2010-11-19 22:49:02