有没有一种简明的方法来编程这两个条件



exactSearch是一个布尔变量。True表示查找与==完全匹配的项,False表示查找与'in'类似的项。

无论exactSearch的值如何,附加到DataFrame或继续的结果操作都是相同的,只是运算符将根据exactSearch而更改。

下面的代码确实有效,但我很好奇是否有更好的方法来简洁地编程这些条件。

if exactSearch:
if payerName == payer: # Look for exact match
result.loc[len(result)] = [provider,payer] + status.split(" ") # If located, add to results
else:
continue

else:
if payerName in payer: # Look for like match
result.loc[len(result)] = [provider,payer] + status.split(" ") # If located, add to results
else:
continue

方法:

match = (payerName == payer) if exactSearch else (payerName in payer)
if match:
result.loc[len(result)] = [provider,payer] + status.split(" ") # If located, add to results
else:
continue

这样行吗?

if (payerName == payer) or (payerName in payer):
result.loc[len(result)] = [provider,payer] + status.split(" ") 
else:
continue

最新更新