我需要检查多个变量,并对它们调用同一个函数
if isinstance(VarA,complex):
VarA=SomeFunction(VarA)
if isinstance(VarB,complex):
VarB=SomeFunction(VarB)
if isinstance(VarC,complex):
VarC=SomeFunction(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]
