我有检查类的属性以及预定字符串是否在字符串或列表中的代码,如下所示:
if (self.name in event and 'AL' in event) or (self.name in event and 'FH' in event)
我想知道是否有更优雅的方式来组合这些,所以我不必为这两种情况输入两次“事件”。显然没什么大不了的,但我总是在市场上让事情变得更性感。
我有检查类的属性以及预定字符串是否在字符串或列表中的代码,如下所示:
if (self.name in event and 'AL' in event) or (self.name in event and 'FH' in event)
我想知道是否有更优雅的方式来组合这些,所以我不必为这两种情况输入两次“事件”。显然没什么大不了的,但我总是在市场上让事情变得更性感。
您可以将表单的表达式简化为(x && y) || (x && z)
表单x && (y || z)
。因此,您可以将表达式写为:
if self.name in event and ('AL' in event or 'FH' in event):
#...
self.name in event
您可以将组件从子表达式中分解出来,并用于any()
迭代其他名称。
if self.name in event and any(it in event for it in ['AL', 'FH', ...]):
...
(免责声明:这是未经测试的,因此请仔细检查您是否获得与原始结果相同的结果。)