我想查找列表中是否包含子字符串列表。例如,我有:
string_list = ['item1', 'item2', 'subject3', 'subject4']
和子串列表
substrings = ['item', 'subject']
我想找出' item'或者'主题'包含在string_list的任何项目中。我个人会这样做:
any('item' in x for x in string_list)
这适用于一个子字符串,但我想找到一种在子字符串列表中搜索两个字符串的漂亮方法。
答案 0 :(得分:3)
any(y in x for x in string_list for y in substrings)
答案 1 :(得分:1)
由于子字符串实际上是在开头,你可以使用str.startswith
来获取前缀元组:
any(x.startswith(('item', 'subject')) for x in string_list)
答案 2 :(得分:1)
你可以试试这个:
params = {
RequestItems: {
[process.env.DYNAMODB_TABLE]: [{
DeleteRequest: {
Key: {
"vuelta": "2017-09-09"
}
}
}]
}
};
输出:
string_list = ['item1', 'item2', 'subject3', 'subject4']
substrings = ['item', 'subject']
any(any(b in i for b in substrings) for i in string_list)