我需要写几个这样的函数。有没有更好的方法在一行左右使用 lambda 编写此函数。
def is_digital(offers):
for offer in offers:
digital = True if 'digital' in offer and offer['digital'] else False
if digital:
return True
return False
最佳答案
您可以为此使用any
。
def is_digital(offers):
return any(offer.get('digital') for offer in offers)
或者,如果您想删除完整的函数定义并只使用 lambda(这不是最好的主意),您可以这样做:
is_digital = lambda offers: any(offer.get('digital') for offer in offers)
感谢 jonrsharpe 的评论提醒我 .get
是一回事。
关于python - 使用 lambda 减少列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33369299/