2024-09-29 17:19:05 发布
网友
我需要检查多个变量,并对它们调用相同的函数
if isinstance(VarA,complex): VarA=SomeFunction(VarA) if isinstance(VarB,complex): VarB=SomeFunction(VarB) if isinstance(VarC,complex): VarC=SomeFunction(VarC)
有没有可能用一种更短/更易读的方式编写这段代码?你知道吗
你可以这样做
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])
你可以这样做
你可以这样做:
当有三个以上的变量时,情况会变得更糟,因此,如果您发现自己需要许多用于执行相同计算的变量,您应该考虑使用列表和循环:
一种解决方法是使用字典来保存变量的数量。你知道吗
然后迭代字典,如果满足条件,则修改值。你知道吗
相关问题 更多 >
编程相关推荐