python大数据查找_Python:如何在未排序的列表中查找大于某个数字的所有项(大数据集)...

尽管其他人也问过类似的问题,例如, here,但它们略有不同,并没有真正解决我的问题,所以我在这里再次。

我有N个列表(N> 20,000),每个列表包含M个列表(M> 20,000),方式如下(数据为虚拟):

Key1: [ [4,3,1], [5,1,0] ...... [43,21,0 ] ] # List 1 with collection of M smaller lists

:

:

KeyN: [ [5,4,1], [55,1,1] ...... [ 221, 0, 0] ] # Nth list数据未分类。遍历一系列阈值,比如Threshold =[2, 3, 5, 7, 8],其中阈值应用于中间元素,我想提取所有键的所有元素,大于阈值。例如。通过我上面写的数据,Threshold = 2会屈服

For Key1: [ [4,3,1], [43,21,0]]

:

:

For KeyN: [[5,4,1]]对于其他阈值也是如此。由于列表太多,我的观察是排序会导致很多开销,因此我想避免它。在python中做这件事的最佳方法是什么?另一个重要的一点是,我自己构建数据,所以可能有更好的数据结构来存储数据。我目前以PersistentList的形式将数据存储在ZODB容器中的PLACEHOLDER_FOR_CODE_7容器中,建议使用here。以下是用于它的代码片段:

for Gnodes in G.nodes(): # Gnodes iterates over N values

Gvalue = someoperation(Gnodes)

for Hnodes in H.nodes(): # Hnodes iterates over N values

Hvalue =someoperation(Hnodes,Gnodes)

score = SomeOperation on (Gvalue,Hvalue)

btree_container.setdefault(Gnodes, PersistentList()).append([Hnodes, score, -1 ])

transaction.savepoint(True)

transaction.commit()对于什么应该是最有效的方式提出任何建议?首先确定最佳方式吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值