如何在字符串中打印单词?

mis*_*ded 2 python string

我想在我的代码中执行以下操作:

  1. 在新行中打印字符串的每个单词
  2. 在新行中打印每个字符

我已经能够使用以下代码实现第二部分:

s2 = "I am testing"
for x in s2:
    print x
Run Code Online (Sandbox Code Playgroud)

我在第一部分遇到麻烦.我编写了以下代码,用于识别字符串中的空格.

for i in s2:
    if not(i.isspace()):
        print i
    else:
        print "space"
Run Code Online (Sandbox Code Playgroud)

还尝试了以下删除字符串的所有空格:

s3 = ''.join([i for i in s2 if not(i.isspace())])
print s3
Run Code Online (Sandbox Code Playgroud)

但仍然没有实现我想要的输出,这应该是这样的:

I
am
testing
Run Code Online (Sandbox Code Playgroud)

jam*_*lak 11

>>> s2 = "I am testing"
>>> for word in s2.split():
        print word


I
am
testing
Run Code Online (Sandbox Code Playgroud)

  • 如果OP想知道为什么这就是答案:`split()`接受一个可选参数`sep`,用于决定如何拆分字符串.无论`sep`出现在哪里,我们都会拆分字符串.关键是`sep`默认匹配任意数量的连续空格.有关详细信息,请参阅[此处](http://docs.python.org/2/library/stdtypes.html#str.split). (2认同)