[英]How do I split this string in python 2.7 keeping spaces?
我正在尋找一種方法來獲取一個字符串,並以每個字符拆分的形式將其輸出為列表?
>>> 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']
誰能告訴我一種有效且相對簡單的方法? 提前致謝!
將字符串傳遞給list
,您將獲得一個單字符字符串列表。
>>> sentence = 'hello I am cool'
>>> list(sentence)
['h', 'e', 'l', 'l', 'o', ' ', 'I', ' ', 'a', 'm', ' ', 'c', 'o', 'o', 'l']
使用list()
:
>>> list(sentence)
['h', 'e', 'l', 'l', 'o', ' ', 'I', ' ', 'a', 'm', ' ', 'c', 'o', 'o', 'l']
如果要迭代每個字符,也可以在字符串上使用for
循環。
for chr in 'hello I am cool':
print(chr)
它應導致:
h
e
l
l
o
I
a
m
c
o
o
l
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.