<pre><code>def sucontain(A):
C = A.split()
def magic(x):
B = [C[i]==C[i+1] for i in range(len(C)-1)]
return any(B)
N = [x for x in C if magic(x)]
return N
Phrase = "So flee fleeting candy can and bandage"
print (sucontain(Phrase))
</code></pre>
<p>这个函数的目标是创建一个单词列表,这些单词位于每个连续单词的内部。例如,函数将字符串“”So fleed fleeting candy can and bandage“”作为输入,并返回['fleed','and'],因为fleed在fleeting(下一个单词)中,'and'在'bandage'中。如果没有找到类似的案例,则应返回空列表[]。我的代码现在返回的是[],而不是['fleed','和']。有人能指出我做错了什么吗?谢谢</p>
<p>只要把连续的单词配对,就可以很容易地理解</p>
<pre><code>>>> s = "So flee fleeting candy can and bandage"
>>> words = s.split()
>>> [i for i, k in zip(words, words[1:]) if i in k]
['flee', 'and']
</code></pre>