Python 检查其他列表中的列表项在点号或符号时是否返回false
我有一个大文件,其中包含一个列表,看起来像Python 检查其他列表中的列表项在点号或符号时是否返回false,python,list,Python,List,我有一个大文件,其中包含一个列表,看起来像 word_list =['word', 'charles', 'luciana', '<charles', '@', 'yes!'] 这在检查时可以正常工作,例如返回以下内容的True: item_in_list('charles') item_in_list('luciana') 当我检查包含符号的位置时,它会失败,例如: item_in_list('@') item_in_list('<charles') 列表中的项目(“@”)
word_list =['word', 'charles', 'luciana', '<charles', '@', 'yes!']
这在检查时可以正常工作,例如返回以下内容的True:
item_in_list('charles')
item_in_list('luciana')
当我检查包含符号的位置时,它会失败,例如:
item_in_list('@')
item_in_list('<charles')
列表中的项目(“@”)
_列表中的项目('这应该是您想要的:
word_list =['word', 'charles', 'luciana', '<charles', '@', 'yes!']
def item_in_list(word):
if word in word_list:
return True
else:
return False
假设列表包含上面作为列表对象显示的单词,除了在
any(word in item for items in list)
;item
vsitems
中出现打字错误之外,我看不到任何错误
我在本地对代码进行了测试,如果您修复了输入错误,代码就可以正常工作
word_list =['word',
'charles',
'luciana',
' <charles',
'@',
'yes!']
def item_in_list(word):
if any(word in item for item in word_list):
return True
else:
return False
print(item_in_list('@'))
print(item_in_list('<charles'))
需要补充的重要一点是,这两个实现与@timgeb注释不同。第一个实现执行子字符串搜索,第二个实现执行成员资格测试。您所指的
列表中包含哪些内容?另外,尽量不要在代码中为变量名使用保留字。例如:列表
assuming如果list
包含上面作为列表对象显示的单词,我没有看到任何错误,除了any中的拼写错误(项目中的单词代表列表中的项目)
;item
与items
相比,如果您纠正了打字错误,代码将按预期工作。第一个代码块上有一个列表示例。还有什么是word_in_vocab
,与item_in_list
相同?这可以简化为:def item_in_in_list(word):如果word\u list中的word或False中的word返回True,则返回False
哈哈,我只是在键入它!或者只是在word\u list中返回word
…谢谢。我仍然看到问题,但这似乎与我编译word\u list
的方式有关。请注意,这两个实现并不等效。第一个执行子字符串搜索,第二个执行子字符串搜索membership-test。谢谢你指向@timgeb。我完全错过了。我会更新我的答案来添加它。没问题。我不确定OP需要第一个版本还是第二个版本。
def item_in_list(word):
return True if word in word_list else False
word_list =['word',
'charles',
'luciana',
' <charles',
'@',
'yes!']
def item_in_list(word):
if any(word in item for item in word_list):
return True
else:
return False
print(item_in_list('@'))
print(item_in_list('<charles'))
def item_in_list(word):
return word in word_list