给定两个列表:list1
包含句子和list2
包含单词,我想找到list1
的句子中所有单词都属于list2
list1 = ['p jthputmxy xpih t zdamz', 'l kefylcbfl tpij p jonvs', 'c olqlyfxew ksah p opjto', 'o cbfolbbwa fcha b xcruo', 'x iirvablmi dvqg i jjguy', 'c ocqlyfoew ksrh p opato', 'n cyjelcxxy xlip t kvrks', 'l kajltafti egei a bzzts', 'p ctjpltfxa xgia t bdrms', 'a cavalaria esta a norte']
list2 = ['atacar', 'esperar', 'noite', 'base', 'sul', 'norte', 'cavalaria', 'esta', 'a', 'pato']
所需输出=[False, False, False, False, False, False, False, False, False, True]
到目前为止,我的代码是:
test = [all(i for i in list2) for f in list1]
return test
仅返回:
[True, True, True, True, True, True, True, True, True, True]
这将返回以下输出(这对我来说很有意义)
如果变量也是字符串,则all()函数返回True。这就是为什么你得到的都是真的,因为在列表1中,到处都有一个字符串
所以您的意思是test=[对于列表1中的f为True]
您可以将
list2
转换为一个集合,并检查由句子中的单词组成的集合是否是您的单词集合的子集相关问题 更多 >
编程相关推荐