2012-04-25 5 views
0

У меня довольно простой вопрос (я думаю).Список перечней Python в список

У меня есть список списков в python, а элементы - это строки. Я хочу иметь один список, с элементами, которые являются float.

Например:

lst= [['0.0375'], ['-0.1652'], ['0.1841'], ['-0.0304'], ['0.0211'], ['0.1580'], ['-0.0252'], ['-0.0080'], ['-0.0915'], ['0.1208']] 

И мне нужно что-то вроде:

lst= [0.0375, -0.1652, 0.1841, -0.0304, 0.0211, 0.1580, -0.0252, -0.0080, -0.0915, 0.1208] 
+0

ли список источников фиксированной и постоянной глубины, или это переменная и произвольно? –

+2

Вы говорите, что хотите элементы, которые являются поплавками, но ваш окончательный список состоит из строк. Просто вызов float на них с использованием связанного-дублированного решения будет работать нормально. – DSM

+0

Исходный список - фиксированная и постоянная глубина. –

ответ

2
[float(x) for (x,) in your_list] 
+0

Вы уверены, что кортеж? Он будет содержать подсписку, поэтому 'float()' будет терпеть неудачу. Почему вместо 'x [0]' вместо этого? –

+2

@ FrédéricHamidi. В моем коде нет кортежа, что 'x,' распакует итерацию длиной-1, поэтому 'x' является элементом в каждом подсписке. Я использую итеративную распаковку вместо индексации, потому что у нее есть тонкое преимущество генерации исключения вместо того, чтобы терпеть неудачу, если в один прекрасный день он получит недопустимый вход '[['3'], ['4', '5']]' , –

+0

Отлично, я не был знаком с этим использованием. Я буду помнить об этом, спасибо за ваши объяснения :) –