在Python中传递列表的费用是多少?

neb*_*ffa 4 python

我有一个迭代函数phi,它多次调用自己以返回正确的结果.

def phi(n, primes, phis):
Run Code Online (Sandbox Code Playgroud)

其中primes是素数列表,1 <n <10,000,000,phis是n的相同范围内的总值列表.

在Python中执行此操作是否代价高昂?我的猜测是它不会花费太多,因为我们处理Python中的指针所以所有会传递的是指针?但是使用此功能,即使POINTERS也会传递很多(读取:sh ## load).这在计算上是否昂贵?

Lev*_*von 5

你是对的,你没有传递整个列表而是一个指针.您将承担函数调用的常规开销,这将远远超过指针/参数的传递.