[英]Python Lambda with Or
阅读文档似乎这可能是不可能的,但似乎很多人已经能够将更复杂的功能击败到pythons lambda函数中。
我正在利用scapy库来创建数据包。 特别是这个问题是关于ConditionalField,它带有一个字段和一个比较函数,如果比较为真,该字段只被添加到数据包,但我需要进行2次比较。
只有一个检查的示例,这适用:
ConditionalField(XShortField("chksum",None),lambda pkt:pkt.chksumpresent==1)
我想要的是:
ConditionalField(XShortField("chksum",None),lambda pkt:pkt.chksumpresent==1 or (lamba pkt:pkt.special == 1))
这没有给出预期的结果。 有没有办法做到这一点?
lambda pkt:((pkt.chksumpresent == 1) or (pkt.special == 1))
lambda是最易读/可维护的吗? 以下是同样的表现:
def checksum_condition(pkt):
return pkt.chksumpresent == 1 or pkt.special == 1
ConditionalField(XShortField("chksum",None), checksum_condition)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.