在这种情况下如何避免'else'?



有更好的方法来做到这一点吗?一个朋友告诉我要避免else,以保持代码清洁,但我无法找到另一种方法。

if listA[0] in listB:
    k = listA[0]
else:
    k = listB[1]

在if语句之前,您可以做

k = listB[1]

这样就没有其他东西。整个块看起来像这样:

k = listB[1]
if listA[0] in listB:
    k = listA[0]

三元操作员分配:

k = listA[0] if listA[0] in listB else listB[1]

https://www.webucator.com/how-to/how-do-do-ternary-operator-aSignment-python.cfm

我不会争论它是一种"更好"的方法,但是这是避免else的另一种方法:

def foo():
  #do stuff
  if listA[0] in listB:
    return listA[0]
  return listB[1]

顺便说一句,我从事几个项目,他们有不同的样式指南。

最新更新