首页 > 解决方案 > Python - 有效地应用函数

问题描述

我对 python 很陌生,所以我的问题可能是基本的,但有没有办法在使用函数时同时更改两个变量。我的问题是我目前使用双 for 循环来执行此操作,它会创建很多无用的值。正如我们通过示例更好地理解的那样,这是一个快速制作的:

results=[]
Q1=[1,2,3]
P1=[4,5,6]
def findcash(Q,P):
    r=Q/P
    results.append(r)
for i in Q1:
    for j in P1:
        findcash(i,j)

现在你看到我的返回向量的值为 1/4 ;1/5; 1/6 ...实际上我希望Q1在P1改变时改变所以结果=[1/4 2/5 3/6]

干杯

标签: pythonfunctionvariables

解决方案


您可以使用内置zip

results = [Q/P for Q, P in zip(Q1, P1)]

这有点相当于:(不是真的,但想法是一样的(你知道 - 就像拉链一样))

for i in range(min(len(Q), len(P))):
     Q = Q1[i]
     P = P1[i]
     ...

推荐阅读