2015-11-01 4 views
-1

Я новичок в python, и я пытался искать этот вопрос повсюду, но я не мог его найти. Я не уверен, что это даже работает, но здесь мы идем ..... Поэтому я пытаюсь прочитать файл с различными типами переменных и хранить в нем различные регулярные выражения. Строки, float, ints, keywords .... и т. Д. Все в списке, но все они хранятся в виде строк в списке не разных типов.python: чтение файла и сохранение строк в виде строк и целых чисел в виде целых чисел в список

Например:

list1 = ['sandy', 'mike', '3.2', '15'] 

Я хочу его хранить в список, как это:

list1 = ['sandy', 'mike', 3.2, 15] 

Это очень важно для меня, чтобы знать, какие из них являются строками и какие из них являются числами ,

Я не могу использовать словари, потому что они не индексируются плюс они перемещаются, и я не могу использовать кортежи, потому что они не могут быть «удалены» из стека, я могу использовать списки только потому, что они индексированы, и я может использовать метод pop.

Ответа на этот вопрос при чтении в файле?

+2

Возможный дубликат [Преобразование списка Python строк в поплавки, где список также содержит слово ] (http://stackoverflow.com/questions/16781352/convert-python-list-of-strings-into-floats-where-list-also-contains-words) –

+0

Это только преобразует элементы в список в поплавки, и есть способ превратить их всех в ints тоже, но я не хочу скрывать все в список в один тип. – user5125506

+0

Почему бы просто не просто сменить эту функцию? –

ответ

0

Как я уже сказал в комментариях, можно просто изменить Ashwini Chaudhary's function к этому:

def func(seq): 
    for x in seq: 
     try: 
      if '.' in x: 
       yield float(x) 
      else: 
       yield int(x) 
     except ValueError: 
      yield x 

list1 = ['sandy', 'mike', '3.2', '15', '3.243', 'Washington D.C.'] 

for i in func(list1): 
    print(i) 
    print(type(i)) 
    print() 

Выход:

sandy 
<class 'str'> 

mike 
<class 'str'> 

3.2 
<class 'float'> 

15 
<class 'int'> 

3.243 
<class 'float'> 

Washington D.C. 
<class 'str'> 
Смежные вопросы