Преобразование только одного столбца в int из строки

#python #python-3.x #string #type-conversion #integer

#python #python-3.x #строка #преобразование типа #целое число

Вопрос:

У меня есть список списков. Например, sample_list

 [['11', 'A', '23.45'], [['15', 'B', '11.63'], ['53', 'C', '62.78']]
  

Я хочу преобразовать только третий столбец в int. таким образом, результат выглядит примерно так:

 [['11', 'A', 23.45], [['15', 'B', 11.63], ['53', 'C', 62.78]]
  

Я пытался делать кучу вещей, в том числе:

 for item in sample_list:
    item[2] = int(item[2])
  

Но независимо от того, что я делаю, я продолжаю получать ошибку:

 invalid literal for int() with base 10: '23.45'
  

Не уверен, что я делаю неправильно, но мне не разрешено использовать какие-либо библиотеки, такие как pandas или что-либо еще.

Ответ №1:

Это потому, что 23.45 не является целым числом. Попробуйте

 item[2] = int(float(item[2]))
  

Это сначала преобразует строку в float , затем float в int .

Комментарии:

1. Я такой тупой. Я понял это после того, как опубликовал его. Я не знаю, о чем я думал, публикуя это