Python 使用';包括';
我需要您的帮助,我的代码如下: 我有一个序列列表值,我想搜索一个单词,它将返回一个数字,如下所示Python 使用';包括';,python,list,search,Python,List,Search,我需要您的帮助,我的代码如下: 我有一个序列列表值,我想搜索一个单词,它将返回一个数字,如下所示 search_word = 'cp' keyword_list = [[1, 'ap'], [2, 'cp'], [3, 'mc']] for each_word in keyword_list: if search_word in each_word[1]: print(each_word[0]) 上面的
search_word = 'cp'
keyword_list = [[1, 'ap'],
[2, 'cp'],
[3, 'mc']]
for each_word in keyword_list:
if search_word in each_word[1]:
print(each_word[0])
上面的代码将打印“2”,这很好,但是当我设置search\u word='from cp'时,它与任何内容都不匹配。任何帮助都将不胜感激
或任何其他替代方法?交换中的(\uuuu包含
)测试操作数:
if each_word[1] in search_word:
字典将是一种Python解决方案:
keyword_list = [[1, 'ap'],
[2, 'cp'],
[3, 'mc']]
d = {v: k for k, v in keyword_list}
d['cp'] # 2
如果子字符串条件“包含”很重要,您可以将其子类化为dict
:
keyword_list = [[1, 'apab'],
[2, 'cpcd'],
[3, 'mcef']]
class dict_contains(dict):
def __getitem__(self, value):
keys = [k for k in self.keys() if k in value]
key = keys[0] if keys else None
return self.get(key)
d = dict_contains({v: k for k, v in keyword_list})
d['cpcde'] # 2