我有两个字符串列表
a = ['a','b','c']
b = ['aa','b','d']
我需要检查列表a中的每个元素是否包含在列表b中的任何元素中
我尝试了几种解决方案,但我认为应该可以解决,但总是返回True
def list_compare(list1,list2):
for item in list1:
if any(item for s in list2):
return True
return False
print(list_compare(a,b))
有人知道吗?
我需要进行比较才能在查询文件中搜索关键字。我正在搜索是否所有关键字都在文件中(文件作为列表分成几行),如果是,则返回包含任何关键字的所有行。
答案 0 :(得分:1)
您可以像这样使用any
和all
>>> def list_compare(list1,list2):
... return all(any(x in y for y in list2) for x in list1)
...
>>> print(list_compare(a,b))
False
答案 1 :(得分:0)
def compare(list1,list2):
for item in list1:
if item in list2: #checking the item is present in list2
continue # if yes, goes for next item in list1 to check
else:
return False #if no, immediately comes out with "False"
else:
return True #reaches here, only if all the items in list1 is
#present in list2 , returning "True"
print(compare(lista,listb))
答案 2 :(得分:0)
查找行中的单词用法。 单词可以是行的子字符串(行可以包含多个单词)。
wordsToFind = ['a','b','c']
linesOfDocument = ['aa','ab','1234b','d']
for word in wordsToFind:
for line in linesOfDocument:
if word in line:
print('Found word ' + word + ' in line ' + line)
示例输出:
Found word a in line aa
Found word a in line ab
Found word b in line ab
Found word b in line 1234b