如何将函数应用于多个变量

2024-09-29 17:19:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要检查多个变量,并对它们调用相同的函数

if isinstance(VarA,complex):
    VarA=SomeFunction(VarA)
if isinstance(VarB,complex):
    VarB=SomeFunction(VarB)
if isinstance(VarC,complex):
    VarC=SomeFunction(VarC)

有没有可能用一种更短/更易读的方式编写这段代码?你知道吗


Tags: 函数代码if方式isinstancecomplexvarbvara
3条回答

你可以这样做

varA,varB,varC = (SomeFunction(var) if isinstance(var,complex) else var for var in [varA,varB,varC])

你可以这样做:

a, b, c = (f(x) if isinstance(x, complex) else x for x in [a, b, c])

当有三个以上的变量时,情况会变得更糟,因此,如果您发现自己需要许多用于执行相同计算的变量,您应该考虑使用列表和循环:

List = [1, 2, 3 + 1j, 4, 5 - 2j]

processed = [f(x) if isinstance(x, complex) else x for x in List]

一种解决方法是使用字典来保存变量的数量。你知道吗

然后迭代字典,如果满足条件,则修改值。你知道吗

vars = {'A': VarA, 'B': VarB, 'C': VarC}

for k, v in vars.items():
    if isinstance(v, complex):
        vars[k] = SomeFunction(vars[k])

相关问题 更多 >

    热门问题