如果您的值不可清,那么使用就没有意义了set.
只需使用一个list.如果所有对象所能做的就是测试平等,那么你就必须扫描每个元素每次测试会员资格.obj in listvalue就是这样,扫描列表,直到找到相等匹配:
if not someobj in somelist:
somelist.append(someobj)
Run Code Online (Sandbox Code Playgroud)
会给你一个'独特'值列表.
是的,这将比一个集慢,但集合只能通过哈希实现O(1)复杂度.
如果您的对象是可订购的,则可以使用该bisect模块将测试降低到O(log N)复杂度,从而加快操作速度.确保使用从二分测试中收集的信息插入新值以保留订单.
| 归档时间: |
|
| 查看次数: |
1589 次 |
| 最近记录: |