0

[['45.1']、['21.1']、['42.1']] のようなリストがあります。ここでは、各項目が文字列として格納されていると思います (間違っていますか?)。[45.1,21.1,42.1]のように見せたい。どうすればいいのですか?リストのこれらの要素に対して数値計算を実行できる必要があります。

4

2 に答える 2

3

単純なリスト内包表記を使用します。

>>> lis =  [['45.1'], ['21.1'],['42.1']]
>>> [float(y) for x in lis for y in x]
[45.1, 21.1, 42.1]

または、itertools.chain.from_iterableリスト内包表記を使用したより高速な方法:

>>> from itertools import chain
>>> [float(x) for x in chain.from_iterable(lis)]
[45.1, 21.1, 42.1]
于 2013-06-06T02:33:13.380 に答える
2

リスト内包表記を使用するだけです:

l = [['45.1'], ['21.1'],['42.1']]
my_list = [float(i[0]) for i in l]
>>> my_list
[45.1,21.1,42.1]
于 2013-06-06T02:34:03.023 に答える