将单词与列表中任何单词的前3个字母匹配

2024-04-25 20:49:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关键字列表(csv格式),所有进入我数据库的条目都应该匹配。我正在尝试编写一个python代码,其中如果输入的单词与列表中的任何单词的前3个或更多字母匹配。你知道吗

例如:

如果我保证

单词列表:

  orange
  yellow
  blue
  green
  purple

我想把ora这个词赋给橙色键。有什么方法可以在python上实现这一点吗?你知道吗

另一个例子是,如果单词是orazzz,我仍然希望它拾取前3个字母匹配橙色并将其分配给该键。你知道吗

如果可能的话,我想把它写进一个if语句中


Tags: csv代码数据库列表格式字母条目green
2条回答

使用字典进行查找,使用try catch来处理找不到的情况。你知道吗

keywords = ('orange yellow blue green purple'.split())

keys = dict((w[0:3], w) for w in keywords)

entry = 'orzazzz'
try:
    key = keys[entry[0:3]]
    print( 'Entered value {0} matches key {1}'.format(entry, key) )
except KeyError:
    print( 'Entered value {0} does not match and keyword.'.format(entry) )

你可以用Set来处理。你知道吗

word=set('orange')
db_entry=set('orngesdksd')

if len(word.intersection(db_entry))>=5:
    print(word.intersection(db_entry))

输出:

{'n', 'e', 'o', 'g', 'r'}

相关问题 更多 >