2014-12-31 3 views
-1

Предположим, что существует строка, которая должна быть преобразована в соответствующий тип. Например, если строка: «1,0» Возвращение к 1.0 <type 'float'>
«[1,0, 2,1, 3]» вернуться к [1.0, 2.1, 3] <type 'list'>Python Возврат соответствующего типа из строки

Есть умный способ сделать это?

+1

Что вы подразумеваете под умным способом? – Kasramvd

+0

Я думаю, вы пытаетесь повторно реализовать часть Python в Python. Возможно, вы сможете использовать что-то вроде 'eval()'. Однако это звучит так, будто вы пытаетесь решить какую-то другую проблему, и это, скорее всего, не лучший способ сделать это. Вероятно, вы должны спросить о том, что вы на самом деле пытаетесь сделать. –

ответ

7
import ast 
val = ast.literal_eval(input_str) 
print type(val) 
+0

Большое спасибо, это именно то, что я искал. Я не хотел использовать множество операторов if и else для определения типа. –

Смежные вопросы