我正在寻找一种方法来取一个字符串并将其作为列表输出,每个字符分开?
>>> sentence = 'hello I am cool'
>>> what_i_want(sentence)
['h', 'e', 'l', 'l', 'o', ' ', 'I', ' ', 'a', 'm', ' ', 'c', 'o', 'o', 'l']
然而,这似乎不起作用:
>>> sentence = 'hello I am cool'
>>> sentence = ' '.join(sentence).split()
>>> print sentence
['h', 'e', 'l', 'l', 'o', 'I', 'a', 'm', 'c', 'o', 'o', 'l']
它不打印中间的空间!此外,这不起作用:
>>> import re
>>> splitter = re.compile(r'(\s+|\S+)')
>>> sentence = 'hello I am cool'
>>> splitter.findall(sentence)
['hello', ' ', 'I', ' ', 'am', ' ', 'cool']
>>> sentence = ' '.join(sentence)
>>> splitter.findall(sentence)
['h', ' ', 'e', ' ', 'l', ' ', 'l', ' ', 'o', ' ', 'i', ' ', 'a', ' ', 'm', ' ', 'a', ' ', 'j']
有人能告诉我一个有效且相对简单的方法吗? 提前谢谢!
答案 0 :(得分:6)
将字符串传递给list
,您将获得单字符字符串列表。
>>> sentence = 'hello I am cool'
>>> list(sentence)
['h', 'e', 'l', 'l', 'o', ' ', 'I', ' ', 'a', 'm', ' ', 'c', 'o', 'o', 'l']
答案 1 :(得分:6)
使用list()
:
>>> list(sentence)
['h', 'e', 'l', 'l', 'o', ' ', 'I', ' ', 'a', 'm', ' ', 'c', 'o', 'o', 'l']
答案 2 :(得分:0)
如果要迭代每个字符,也可以在字符串上使用for
循环。
for chr in 'hello I am cool':
print(chr)
应该导致:
h
e
l
l
o
I
a
m
c
o
o
l