のリストにカンマで区切られた文字列を変換し、Iは現在そうよう所与の要素の1つの要素リストを有する:フロートPythonで
値のそれぞれのみコンマで区切られx= ['1.1,1.2,1.6,1.7']
。私はこのfloatのリスト、例えばのような
x=[1.1, 1.2, 1.6, 1.7]
ようにしたい私はx=[float(i) for i in x]
とx=[float(i) for i in x.split()]
を試してみたが、両方はエラーを返します。
のリストにカンマで区切られた文字列を変換し、Iは現在そうよう所与の要素の1つの要素リストを有する:フロートPythonで
値のそれぞれのみコンマで区切られx= ['1.1,1.2,1.6,1.7']
。私はこのfloatのリスト、例えばのような
x=[1.1, 1.2, 1.6, 1.7]
ようにしたい私はx=[float(i) for i in x]
とx=[float(i) for i in x.split()]
を試してみたが、両方はエラーを返します。
スプリットコンマによって、文字列、および構築各項目からfloat
:
[ float(item) for item in '1.1,2.3,5.1'.split(',') ]
OPには異なる入力があります – martianwars
x
はそうあなたがx[0]
を必要とし、その文字列にアクセスするために、1つの文字列を持つリストです。その文字列はコンマで区切られているので、区切り文字:split(',')
を指定する必要があります。 (そうでない場合は、空白、as described in the docs上の文字列を分割しようとしsplit()
。)
あなたがで終わる:
[float(i) for i in x[0].split(',')]
あなたは文字列ではなく、単一の要素のリストにあなたのsplit()
関数を適用していることを確認します。そのためにはx[0]
を使用してください。また、split()
ファンクションにセパレータ,
を渡します。
x = [float(i) for i in x[0].split(',')]
x=[float(i) for i in x.split()]
は、2つのものを除いてほぼ正確です。 1つは、split()
関数には何も渡していないので、文字列内の何も分割しません(文字列には空白だけが分割されます)。コンマで区切りたいので、カンマをコンマで渡す必要があります(x.split(',')
など)。
x
は、という配列の文字列を参照する必要があります。x= ['1.1,1.2,1.6,1.7']
は、1つの文字列を含むリストです。最終的なコードは次のようになります。x
はx = '1.1,1.2,1.6,1.7'
のような単なる文字列であった場合、あなたは、単にfloats = [float(i) for i in x.split(',')]
を使用することになり[1.1, 1.2, 1.6, 1.7]
:
x = ['1.1,1.2,1.6,1.7']
floats = [float(i) for i in x[0].split(',')]
print(floats)
をこれはfloatのリストを出力します。
これらはリストであり、配列ではありません:https://docs.python.org/2/library/array.html – UnholySheep
@UnholySheepありがとう、私は用語を修正しました。 –
FYI「何にも分割しない」という記述は正しくありません。[docs](https://docs.python.org/3/library/stdtypes.html#str.split)を参照してください。デリミタは空白で分割することはありません。 – whrrgarbl
あなたはこのようmap()
を使用することができます。
list(map(float, x[0].split(',')))
map()
は(:x[0].split(',')
我々の場合には、このリストを)機能(私たちの場合はfloat
)と反復可能になります。 float
機能は、それがこのlist comprehensionと等価である私たちのリストの各項目x[0].split(',')
のために呼び出されます。
[float(item) for item in x[0].split(',')]
Python3 +では、 'map'はリストを返しません。マップオブジェクトを返します。リストに変換しなければなりません。 –
@IronFist Python 3はこの質問でタグ付けされていません! – ettanany
Python2はありませんので、あなたはあなたの答えを一般化しなければなりません。あなたの答えはPython3を指しています(Python3のドキュメントにリンクしています)。 –
は '( '')[0] .split' xをしてみてください? – martianwars
'x'はリストなので、' x [0] 'でアクセスする必要があります。また、区切り文字を 'split'呼び出しに指定する必要があります(例:' x [0])。split( '、') ' – UnholySheep