我不知道在return None不需要的时候跳过是不好的方式.
例:
def foo1(x):
if [some condition]:
return Baz(x)
else:
return None
def foo2(x):
if [some condition]:
return Baz(x)
bar1 = foo1(x)
bar2 = foo2(x)
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,当条件为假时,函数将返回None.
使用以下命令很容易检查列表的元素是否在另一个列表中any():
any(elem in list2 for elem in list1)
Run Code Online (Sandbox Code Playgroud)
但无论如何,有没有惯用的方式来返回找到的第一个元素?
我更喜欢单行解决方案,而不是:
for elem in list1:
if elem in list2:
return elem
Run Code Online (Sandbox Code Playgroud)