我有以下代码:
l = []
for i in range(A):
for j in range(B):
if predicate(i,j):
l.append((i, j))
让我们假设A
和B
是非常 非常大数字[〜10e7],因此在更坏的情况下,l
可能具有A * B
的巨大尺寸。假定函数predicate
是决定是否采用元组(i,j)
的通用函数。
我想要一个解决方案:
l
所需的内存量l
中选择一个随机索引k
,然后返回range(len(l))
快速。 相当快地建立列表l[k]
(也许l
不是要使用的功能?]append
不是正确的方法。谁能提供其他方法? 谢谢!
我有以下代码:l = []对于范围(A)中的i:对于范围(B)中的j:if谓词(i,j):l.append((i,j))让我们假定A和B是非常大的数字[〜10e7],所以l ...
list
,您主要可以只存储i
-值: