【发布时间】:2021-08-05 09:58:26
【问题描述】:
假设我有一个字符串列表,例如 -
lst = ['bed frame', 'queen bed', 'queen bedding', 'queen bed frame', 'queen bedroom', 'bedroom', 'queen b', 'queen be', 'queen bed fra', 'queen bed fr', 'bed frame queen', 'bedroom furniture', 'queen bed fram', 'queen bed f', 'queen frame', 'queen m', 'queen ma', 'bed queen', 'queen s', 'cosmoliving']
这里的'queen be'和'queen b'之类的字符串将被转换为'queen',即删除'b'或'be',因为它们是'bed'的一部分(('queen bed'))。 “大床架”也是如此。
如果我有这个-
def xyz(uncorrected):
corrected = []
for words in uncorrected:
string_split = words.split(' ',1)
for keywords in uncorrected:
string_split2 = keywords.split(' ',1)
if string_split[1] != string_split2[1] and string_split[1] in string_split2[1]:
joining = ' '.join(map(str, string_split2))
corrected.append(joining)
return corrected
但是这段代码没有给出所需的输出 -
lst = ['bed frame', 'queen bed', 'queen bedding', 'queen bed frame', 'queen bedroom', 'bedroom', 'queen', 'queen', 'queen bed', 'queen bed', 'bed frame queen', 'bedroom furniture', 'queen bed', 'queen bed', 'queen frame', 'queen m', 'queen ma', 'bed queen', 'queen s', 'cosmoliving']
它给出的输出 -
lst = ['frame', 'queen', 'queen bedding', 'queen frame', 'queen bedroom', '', 'queen', 'queen', 'queen', 'queen', 'frame queen', 'bedroom furniture', 'queen', 'queen', 'queen frame', 'queen', 'queen ma', 'queen', 'queen', '']
【问题讨论】:
-
你怎么知道
"bed"是一个完整的单词? -
我们不需要知道,任何属于更大单词的单词都必须删除。