7

我可以将一个句子分成单个单词,如下所示:

string = 'This is a string, with words!'
string.split(" ")
['This', 'is', 'a', 'string,', 'with', 'words!']

但我不知道如何将一个单词分成字母:

word = "word"
word.split("")

给我一个错误。理想情况下,我希望它返回 ['w','o','r','d'] 这就是拆分参数是“”的原因。

4

5 回答 5

24
>>> s = "foobar"
>>> list(s)
['f', 'o', 'o', 'b', 'a', 'r']
于 2013-03-14T19:35:18.410 回答
4

在 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']
于 2013-03-14T19:42:41.357 回答
3

list(word)

你可以把它传给list

>>> list('word')
['w', 'o', 'r', 'd']
于 2013-03-14T19:35:12.403 回答
2

在python中将其发送到

    list(word)
于 2013-03-14T19:35:40.913 回答
1

您可以像这样遍历字符串中的每个字母:

>>> word = "word"
>>> for letter in word:
...     print letter;
...
w
o
r
d
>>>
于 2013-03-14T19:35:23.880 回答