python - 使用 lambda 减少列表

标签 python python-2.7 lambda reduce

我需要写几个这样的函数。有没有更好的方法在一行左右使用 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/

相关文章:

Python - 检查 "subdictionary"

python - 在 Python 中将大数与小数相加

lambda - 传递 lambda 而不是接口(interface)

Java 流 "forEach"但不消耗流

python - 十六进制正则表达式字符串匹配不起作用(python)

python - Keras Conditional GAN 训练不好

python - 第一次追加后,append_entry() 不起作用。我将 Fieldlist 与 Flask-wtf、jinja 和 Python 3.4 一起使用

python - 文本叠加在文本框中

java - 将命名函数作为参数传递

python - df.loc 打印出错误的期望值