#python
#python
Вопрос:
Пример файла — «имя файла = «люди» [Имя, возраст]
как мне получить 3 самых старых человека из моего файла?
["Susan", "34"],
["Mark", "45"],
["Richard", "77"],
["Alex", "5"],
["Karen", "66"]
Я пытался использовать
for i, a in enumerate(people):
хотя он выводит для меня индексы, он также разбивает список и создает новые строки для каждой подстроки.
people[1]
дало бы мне подстроку для age, но я не знаю, как сравнить ее с другими индексами.
Комментарии:
1. можете ли вы немного прояснить infile…
2.
a[1]
был бы возраст3. Содержимое в самом верхнем сегменте кода не похоже на обычный inifile. Кроме того, ваша версия файла смешивает » и » как символы кавычек, или это была ошибка при ее записи?
4. Да, одинарная кавычка должна быть двойной, это была просто ошибка при ее записи.
5. Содержит ли файл буквально скобки и кавычки?
Ответ №1:
Я предполагаю, что вам нужны 3 самых старых человека в списке списка:
a=[["Susan", "34"],
['Mark', "45"],
['Richard', "77"],
["Alex", "5"],
["Karen", "66"]]
a.sort(reverse=True,key=lambda x:int(x[1]))
a[:3]
Ответ №2:
То же самое с использованием operator
import operator
a=[["Susan", "34"],
['Mark', "45"],
['Richard', "77"],
["Alex", "5"],
["Karen", "66"]]
a.sort(key=operator.itemgetter(1), reverse=True)
a[:3]