如何测试另一个列表中是否存在多个字符串?下面是一个代码示例,我刚开始使用,但不能正常工作。即使在列表中找到字符串的一部分,它也应该返回true。在
我在评论中标出了结果应该返回的内容。正如你所看到的,他们都失败了。在
def all_exist(avalue, bvalue):
if avalue == []:
return True
else:
print (all(x in avalue for x in bvalue))
items = ['greg','krista','marie']
all_exist(['greg', 'krista'], items) # true
all_exist(['gre', 'kris'], items) # true
all_exist(['gre', 'purple'], items) # false
将第二个列表转换为单个字符串,然后测试列表中是否存在字符串,这样会更好吗?在
我们要循环遍历
avalue
中的元素,并检查该元素是否在bvalue
中的任何字符串中。但是我们希望在all
内完成所有这些,因为我们要检查avalue
中的all
元素是否匹配。在另外,如果我们这样做测试,空的
avalue
无论如何都会返回True
,所以我们不需要告诉Python显式地这样做。在注意:既然您已经将}结果,所以我为您更改了它:
all_exist
定义为function
,它实际上应该是return
一个值,而不是{一些测试表明它是有效的:
^{pr2}$您必须检查第一个列表中的所有字符串是否包含在第二个列表中的任何字符串中:
相关问题 更多 >
编程相关推荐