1

私はstringこのようなものを持っています

sample="[2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50]"

それをどのように変換しlistますか?このように、出力がリストになることを期待しています

output=[2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50]

私はsplit()機能を認識していますが、この場合、私が使用する場合

sample.split(',')

[および]記号を使用します。それを行う簡単な方法はありますか?

編集重複した投稿で申し訳ありません..今までこの投稿を見ませんでし た リストを表す文字列を実際のリストオブジェクトに変換する

4

2 に答える 2

4

Python 風の型 (タプルなど) を扱う場合は、次を使用できますast.literal_eval

from ast import literal_eval

sample="[2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50]"

sample_list = literal_eval(sample)
print type(sample_list), type(sample_list[0]), sample_list
# <type 'list'> <type 'int'> [2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50]
于 2013-06-26T13:19:08.137 に答える
1

Python で標準の文字列メソッドを使用できます。

output = sample.lstrip('[').rstrip(']').split(', ')

.split(',')代わりに使用する.split(',')と、値とともにスペースが取得されます!

次を使用して、すべての値を int に変換できます。

output = map(lambda x: int(x), output)

または、文字列を json としてロードします。

import json
output = json.loads(sample)

幸いなことに、json リストの表記法は python リストと同じです。:-)

于 2013-06-26T13:12:55.747 に答える