Так что в настоящее время я пытаюсь взять вложенный список с данными и преобразовать некоторые элементы этих списков в целые числа. Так прямо сейчас вложенный список печатает это:Как сделать только некоторые строки вложенных списков целыми числами?
def Top5_Bottom5_test():
with open("Population.txt", "r") as in_file:
nested = [line.strip().split(',') for line in in_file][1:] #This creates the nested list
nested[0:][1:] = [int(x) for x in nested[0][1:]] #This is what I'm trying to use to make the numbers in the lists into integers.
print nested
Печатается:
[['Alabama', '126', '79', '17'], ['Alaska', '21', '100', '10'], ['Arizona', '190', '59', '16'], ['Arkansas', '172', '49', '28']....]
Но то, что я пытаюсь получить его к выходу, так что я могу использовать сортировки пузыря:
[['Alabama', 126, 79, 17], ['Alaska', 21, 100, 10], ['Arizona', 190, 59, 16], ['Arkansas', 172, 49, 28]....]
С этим моим endgoal является получение списков, отсортированных по [1] -му элементу в порядке убывания, но я не могу сделать это, пока они находятся в строковой форме. Попытка избежать использования функций sort() и sorted().
Кажется, выдает ошибку «ValueError: недействительный литерал для int() с базой 10: 't'". –
@JohnathanScott Я обновил свой ответ, если он все еще не работает - вы уверены, что входные данные выглядят как образец в вопросе? кажется, что какой-то элемент (после первого) в некоторой строке не является целым числом. –
Первая строка в файле .txt, который я импортирую, игнорировалась в коде, который у меня был выше, потому что это просто легенда, так сказать. Обычно это просто текстовый файл с Alabama, 1,2,3 Alaska, 2,5,3 и т. Д. Но код, который я разделил на него, вложенный список. –