Python 3.x Python如何在每次在字符串中找到特定单词时打印字符串?
我试图得到如下输出:Python 3.x Python如何在每次在字符串中找到特定单词时打印字符串?,python-3.x,for-loop,list-comprehension,Python 3.x,For Loop,List Comprehension,我试图得到如下输出: I dont want ANY spam I dont want ANY spam I dont want ANY spam 使用此代码: wife = 'spam spam spam' [print('i dont want ANY spam') for x in wife if 'spam' in wife] 但我得到的是: I dont want ANY spam I dont want ANY spam I dont want ANY spam I dont w
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
使用此代码:
wife = 'spam spam spam'
[print('i dont want ANY spam') for x in wife if 'spam' in wife]
但我得到的是:
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
I dont want ANY spam
我只需要它打印出来,每次它看到的字垃圾邮件从可变的妻子,我怎么能做到这一点
for x in wife.split():
if x == "spam":
print ("I dont want ANY spam")
试试这个。您正在遍历妻子的每个字母,而不是每个单词.split()
使其遍历每个单词
或者您可以尝试:
print ("I dont want ANY spam \n" * wife.count("spam"))
您可以通过在您的妻子中添加split()
来修复此问题
wife = 'spam spam spam'
[print('i dont want ANY spam') for x in wife.split(' ') if 'spam'==x]
这是因为您正在迭代一个字符串,在本例中,您将通过屏幕为字符串的每个字符显示该字符串
[print('i not want ANY spam')for x in wife.split()如果'spam'==x]
这将把交互减少到只有三个
虽然我不明白你为什么用列表