我正在使用Python构建一个列表,例如,让我们说前100个整数,但我只需要其中的一部分,比如说3个。
import random
def f():
list_ = []
for i in range(100):
list_.append(i)
return list_
def g(list_,k):
return random.sample(list_, k)
print(g(f(),3))
>>>[50, 92, 6]
现在,我是否可以不必先构建整个列表,而是直接构建样本,可能通过为f()
中添加元素被加入列表的概率来实现。
因为如果我要构建一个巨大的列表,它不是整数数字而是其他一些对象,这种方法可能会在内存和计算方面代价高昂。