1

私はこのようなものを使用して文字列を取得し、それを分解してリストに追加してきました

example_string = "Test"
example_list =[]
for x in example_string:
    example_list.append(x)

出力:

example_list = ['T','e','s','t']

これを行うためのより直接的な方法はありますか?

4

3 に答える 3

4

あなたはより良い何かを意味します:

example_string = "Test"
example_list = list(example_string)

Ouput:

example_list = ["T","e","s","t"]

Pythonでは、文字列はリストやタプルのように反復可能であり、またはを呼び出すことで、文字列をタプルまたはリストに簡単に変換できtuple()ますlist()

于 2012-07-10T12:58:43.443 に答える
2

リストアイテムごとに3文字をグループ化する場合(@Cedricの回答に対するコメントに従って)、これはドキュメントgrouperのレシピです。itertools

def grouper(n, iterable, fillvalue=None):
    "Collect data into fixed-length chunks or blocks"
    # grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx
    args = [iter(iterable)] * n
    return izip_longest(fillvalue=fillvalue, *args)

izip_longest(から関数をインポートする必要がありますitertools。)

于 2012-07-10T13:16:01.907 に答える
0

N個のグループ(外部モジュールなし)にグループ化するには、zip形式のレシピを使用できます。zip(*[iter(s)]*n)

それで:

>>> list(zip(*[iter("longerstring")]*3))
[('l', 'o', 'n'), ('g', 'e', 'r'), ('s', 't', 'r'), ('i', 'n', 'g')]
于 2012-07-10T14:11:18.183 に答える