#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. Я такой тупой. Я понял это после того, как опубликовал его. Я не знаю, о чем я думал, публикуя это