我正在尝试在Handler
集合中获得特定自定义类型MemoryListHandler
的单个logger.handlers
。
对于.NET,我将仅使用以下LINQ扩展名,该扩展名过滤元素并仅返回MemoryListHandler
类型的元素:
logger.handlers.OfType<MemoryListHandler>().SingleOrDefault()
Python中最优雅的等效词是什么?
我目前(不是很整齐)的尝试是:
next((handler for handler in logger.handlers if handler is MemoryListHandler), None)
最佳答案
您可以尝试index
方法。
try:
lh = logger.handlers
x = lh[lh.index(MemoryListHandler)]
except ValueError:
x = some_default_value