我有一种情况,我使用列表理解来扫描一个列表并返回符合特定条件的项目。
[item for item in some_list_of_objects if 'thisstring' in item.id]
我想扩展它,并列出项目中可以包含的内容,列表长度未知。像这样:
string_list = ['somestring', 'another_string', 'etc']
[item for item in some_list_of_objects if one of string_list in item.id]
什么是pythonic方法来实现这一目标?我知道我可以很容易地重写它以使用标准的循环结构,但是我想保持列表理解,如果我能这样做而不会产生非常难看的代码。
提前致谢。
答案 0 :(得分:2)
使用any:
string_list = ['somestring', 'another_string', 'etc']
[item for item in some_list if any(s in item.id for s in string_list)]
如果我们没有得到匹配,懒洋洋地评估打破第一场比赛或检查所有比赛。
答案 1 :(得分:2)
您可以使用内置MvxTableViewSource
功能
any