我可以将一个句子分成单个单词,如下:
string = 'This is a string, with words!'
string.split(" ")
['This', 'is', 'a', 'string,', 'with', 'words!']
但我不知道如何将一个单词分成字母:
word = "word"
word.split("")
给我一个错误。理想情况下,我希望它返回['w','o','r','d']这就是为什么split参数是“”。
答案 0 :(得分:14)
>>> s = "foobar"
>>> list(s)
['f', 'o', 'o', 'b', 'a', 'r']
答案 1 :(得分:3)
在Python中,字符串是可迭代的。这意味着它支持特殊协议。
>>> s = '123'
>>> i = iter(s)
>>> i
<iterator object at 0x00E82C50>
>>> i.next()
'1'
>>> i.next()
'2'
>>> i.next()
'3'
>>> i.next()
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
i.next()
StopIteration
list
构造函数可以构建任何可迭代的列表。它依赖于这种特殊方法next
,并逐字逐字地获取,直到遇到StopIteration
。
因此,从字符串中生成字母列表的最简单方法是将其提供给list
构造函数:
>>> list(s)
['1', '2', '3']
答案 2 :(得分:2)
在python中将其发送到
list(word)
答案 3 :(得分:1)
list(word)
您可以将其传递给list
>>> list('word')
['w', 'o', 'r', 'd']
答案 4 :(得分:1)
您可以迭代字符串中的每个字母:
>>> word = "word"
>>> for letter in word:
... print letter;
...
w
o
r
d
>>>