Python中文
首页
教程
问答
标签
搜索
登录
注册
在python中运行循环限制迭代
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个非常大的对象列表,我需要找到所有具有相同属性(任何_object.any_属性)然后把它们添加到一个新列表中。所以我已经对它们进行了预排序并运行了一个二进制搜索算法。 我已经找到了具有匹配属性的对象,但问题是有不止一个这样的对象(它们是相邻的),但我无法找到一种干净的方法在这些连续的对象上运行循环,以便它们都可以被追加。我的代码粘贴在下面。在</p> <pre><code> low = 0 high = len(sortedObjects) while low < high: mid = (low + high)/2 if sortedObjects[mid].attr < desired_attr: low = mid + 1 elif sortedSamples[mid].attr > desired_attr: high = mid else: newList.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(sortedObjects[mid]) break </code></pre> <p>所以我需要在最后一个else块中编写一些新代码,它将迭代具有相同属性的所有对象并将其附加。听起来像是需要一个for循环,但是有没有可能在有限的迭代中运行for循环,比如在C中?在</p> <p>我不想迭代整个列表,因为那样会比较慢,而且这个脚本的一个要求是它必须快速高效。它将运行在非常大的数据集上,我们期待10-12小时的执行时间。提前谢谢!在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果要更频繁地执行此搜索,请创建此属性的列表:</p> <pre><code>attr_list = [o.attr for o in sortedObjects] </code></pre> <p>然后使用<a href="http://docs.python.org/library/bisect.html" rel="nofollow"><strong>bisect</strong></a>模块:</p> ^{pr2}$
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
VirtualEnvRapper错误:路径python2(来自python=python2)不存在
7 回答
virtualenvs上的pyinstaller,没有名为导入错误的模块
6 回答
virtualenvs是否可以退回到用户包而不是系统包?
5 回答
virtualenvwrapper CentOS7
8 回答
virtualenvwrapper IOError:[Errno 13]权限被拒绝
1 回答
virtualenvwrapper mkproject和shell在windows中的启动问题?
6 回答
virtualenvwrapper mkvirtualenv不工作但没有错误
2 回答
Virtualenvwrapper python bash
4 回答
virtualenvwrapper:“workon”何时更改到项目目录?
9 回答
virtualenvwrapper:mkvirtualenv可以工作,但是rmvirtualenv返回bash:没有这样的文件或目录
2 回答
virtualenvwrapper:virtualenv信息存储在哪里?
3 回答
virtualenvwrapper:命令“python设置.pyegg_info“失败,错误代码为1
4 回答
virtualenvwrapper:如何将mkvirtualenv的默认Python版本/路径更改为ins
3 回答
Virtualenvwrapper:模块“pkg_resources”没有属性“iter_entry_points”
6 回答
Virtualenvwrapper:没有名为virtualenvwrapp的模块
9 回答
Virtualenvwrapper.bash_profi的正确设置
10 回答
Virtualenvwrapper.hook:权限被拒绝
6 回答
virtualenvwrapper.sh:fork:资源暂时不可用Python/Djang
5 回答
Virtualenvwrapper.shlssitepackages命令不工作
6 回答
Virtualenvwrapper.sh函数在bash sh中不可用
1 回答