'1.5 1e+05 test 4'
のような単純な文字列を考えてみましょう。その文字列を生成するためにPython 2.7で使用されるフォーマットは'%f %e %s %i'
です。文字列フォーマッタを知っている私の入力文字列からフォーム[1.5,100000,'test',4]
のリストを取得したい。どうすればいいですか(Python 2.7またはPython 3)?文字列をfloat型、int型、str型のリストに変換します。
ありがとう、
Ch。
'1.5 1e+05 test 4'
のような単純な文字列を考えてみましょう。その文字列を生成するためにPython 2.7で使用されるフォーマットは'%f %e %s %i'
です。文字列フォーマッタを知っている私の入力文字列からフォーム[1.5,100000,'test',4]
のリストを取得したい。どうすればいいですか(Python 2.7またはPython 3)?文字列をfloat型、int型、str型のリストに変換します。
ありがとう、
Ch。
parse
モジュールを使用してください。このモジュールは '逆フォーマット'を行うことができます。例:
from parse import parse
format_str = '{:1f} {:.2e} {} {:d}'
data = [1.5, 100000, 'test', 4]
data_str = format_str.format(*data)
print(data_str) # Output: 1.500000 1.00e+05 test 4
parsed = parse(format_str, data_str)
print(parsed) # Output: <Result (1.5, 100000.0, 'test', 4) {}>
a, b, c, d = parsed # Whatever
@ChrisBよろしくお願いします!あなたが答えが好きだったら、それを受け入れてください – Jerfov2
'インポート解析、FORMAT_STRING = '{:1F} {:.2e} {:S} {:D}' PN = format_string.format(1.5,100000、 'テスト'、4) parsed = parse.parse(format_string、pn) '動作しません – ChrisB
' parse'モジュールをダウンロードしてインストールしましたか? – Jerfov2
もちろん、私の場合は 'type(parsed)'は 'NoneType'です – ChrisB