Создайте функцию с именем last_four, которая принимает идентификационный номер и возвращает последние четыре цифры. Например, число 17573005 должно возвращать 3005. Затем используйте эту функцию для сортировки списка идентификаторов, хранящихся в переменной, идентификаторы, от низшего к наибольшему. Сохраните этот отсортированный список в переменной sorted_ids. Подсказка: помните, что только строки могут быть проиндексированы, поэтому могут потребоваться преобразования.
Вторая часть проблемы: «Сортировать идентификаторы списка по последним четырем цифрам каждого идентификатора. Сделайте это с помощью лямбды, а не с помощью определенной функции. Сохраните этот отсортированный список в переменной sorted_id»
Я определил определение своей функции и вход, который он принимает. Я создал пустой список, а затем создал цикл for, который перебирает значения моего ввода, где я добавляю последние четыре цифры к пустой список я создал. Я делаю это для всех элементов в моем входе. Я установил список, который я создал, равным отсортированной версии самого себя, используя отсортированную функцию, и у меня есть функция, возвращающая отсортированный список.
Затем я установил переменную sorted_ids равной last_four с указанным входным параметром.
def last_four(x):
r = []
for i in x:
r.append(str(i)[-4:])
r = sorted(r)
print(r)
return r
ids = [17573005, 17572342, 17579000, 17570002, 17572345, 17579329]
sorted_ids = last_four(ids)
Когда я запускаю приведенный выше код, я получаю сообщение об ошибке: «Ошибка: TypeError: объект 'int' не повторяется», поскольку входные данные представляют собой список идентификаторов. Читая о том, как решить эту проблему, я думаю, что мой результат должен быть что-то вроде "sorted_ids = sorted(ids, key = last_four)
". Когда я пытаюсь использовать фрагмент кода в предыдущем предложении, я все равно получаю ту же ошибку TypeError, как я упоминал ранее. Я не уверен, как написать это, используя необязательный параметр ключа.
Мне также нужно написать функцию с использованием лямбда-выражения, не определив функцию last_four, и получить тот же результат, который я не уверен, как это сделать.
Любое руководство будет оценено.