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. Ruby生成器與Python生成器
- 2. python html生成器
- 3. 類中的python生成器
- 4. Python的JavaScript生成器
- 5. Python生成器列表
- 6. 什麼是python生成器?
- 7. Python素數生成器
- 8. Python生成器遍歷樹
- 9. Python短url生成器
- 10. Python文檔生成器
- 11. Python生成Python
- 12. Python生成器生成一切從另一個生成器調用
- 13. Yeoman定製生成器
- 14. Rails 3 - 避免重複生成由其他控制器生成的視圖中的部分控制器代碼
- 15. 使用python生成重複日期?
- 16. Python中的生成器裝飾器
- 17. Python中生成器函數中的代碼重複
- 18. 從複雜的python數組生成迭代器
- 19. IntelliJ:生成後複製戰爭文件
- 20. 生成腳本以複製視圖
- 21. JPA腳本生成複製腳本
- 22. Makefile生成的文件不被複制
- 23. 揚鞭生成複製模型類
- 24. 的JavaScript發生器功能超時試圖複製Python的itertools.combinations
- 25. Python列表生成:強制新對象
- 26. 使用CoreData生成器在DerivedData文件夾中複製文件
- 27. 複製迭代器和生成無序自笛卡爾積
- 28. 製作Sable CC解析器生成器
- 29. 空調控制器生成器
- 30. 在Python中爲無限生成器設置限制
顯示一些代碼...我們甚至不知道你的發電機應該做什麼。 – ThiefMaster 2010-11-19 22:49:02