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コンストラクターは、任意の iterable のリストを作成できます。この特別なメソッドに依存し、nextに遭遇するまで string から 1 文字ずつ取得し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 に答える