【发布时间】:2021-05-18 20:50:11
【问题描述】:
我有numbers codes 和text codes,如下面的table1。我有numbers to search 就像table2
为此,我希望从左到右比较 prefix of minimun length of 3 的最佳匹配,并将对应的 TEXT CODE 显示为答案。
- 如果有完全匹配,那就是答案。
- 如果没有任何值具有至少 3 个长度前缀,则答案将是“未找到”。
我展示了一些 cmets,解释了 table2 旁边的每个 Number to search 预期的答案中应用的条件。
我当前的尝试显示完全匹配,但是当没有完全匹配时,我不确定如何比较这些值以搜索其他条件。
ncode = ["88271","1893","107728","4482","3527","71290","404","5081","7129","33751","3","40489","107724"]
tcode = ["RI","NE","JH","XT","LF","NE","RI","XT","QS","XT","YU","WE","RP"]
tosearch = ["50923","712902","404","10772"]
out = []
out.append([])
out.append([])
for code in tosearch:
for nc in ncode:
if code == nc:
indexOfMatched = ncode.index(nc)
out[0].append(nc)
out[1].append(tcode[indexOfMatched])
>>> out
[['404'], ['RI']]
预期的输出是
out = [
['50923', '712902', '404', '10772'],
['NOT FOUND', 'NE', 'RI', 'JH' ]
]
【问题讨论】:
标签: python-3.x string-matching prefix