2024-09-24 00:34:47 发布
网友
Python 3.7.3版
我有一个行列表,我想要一个语句来测试一个值是否包含在任何行中:
>>> data=[["red blue green yellow"],["peter ann jack beatrice"]] >>> "ann" in data False
我希望这是真的
是否有一个没有显式迭代的单语句测试,它将为“ann”或两个列表中的任何单个值返回True
'ann' in ' '.join(sum(data,[]))
你需要更深入
目前,您正在检查父列表中是否有元素与字符串“ann”相等-事实并非如此。所以您需要迭代每个元素并检查它
这是一个未经测试的递归示例,它将遍历任何查找子字符串的列表。它应该要么工作,要么给你灵感来完成你的任务
def check_for_substrings_in_list(substring, parent_list): for data in parent_list: if isinstance(data, list): if check_for_substrings_in_list(substring, data): return True elif isinstance(data, string) and substring in data: return True return False
你需要更深入
目前,您正在检查父列表中是否有元素与字符串“ann”相等-事实并非如此。所以您需要迭代每个元素并检查它
这是一个未经测试的递归示例,它将遍历任何查找子字符串的列表。它应该要么工作,要么给你灵感来完成你的任务
相关问题 更多 >
编程相关推荐