好吧,我之前问过一个问题,我得到了我想要的答案。但是我现在有更多问题。
我有一个这样的列表:
name = ['road', 'roadwork', 'pill', 'pillbox', 'pillow', 'ball',
'football', 'basketball', 'work', 'box', 'foot', 'basket']
下面的代码将带有复合名词的单词与基础单词分开:
for candidate in name:
for word in name:
if word != candidate and word in candidate:
break
else:
print candidate
但是我意识到代码过于严格,因为它还会从列表中删除“枕头”。
是否有可以生成以下结果的代码:
name = ['road', 'pill', 'pillow', 'ball', 'work', 'box', 'foot', 'basket']