Найти - Пользователи
Полная версия: Помогите с решением
Начало » Python для новичков » Помогите с решением
1 2 3 4 5
Vyacheslav_Ryannel
Есть список N. Нужно с помощью функции sorted() вывести список в обратном алфавитном порядке без изменения порядка исходного списка.
FishHook
1. идем в документацию питона, находим функцию sorted, нас интересуют два аргумента. Первый позволяет задать функцию определяющую вес элемента при сортировке, второй - порядок сортировки
2. используя функцию enumerate создаем список из кортежей, где первый элемент - индекс, а второй исходный элемент заданного списка
3. сортируем созданный список используя в качестве функции веса индекс элемента
4. мапим результат оставляя только второй элемент кортежа
Vyacheslav_Ryannel
FishHook
1. идем в документацию питона, находим функцию sorted, нас интересуют два аргумента. Первый позволяет задать функцию определяющую вес элемента при сортировке, второй - порядок сортировки2. использую функцию enumerate создаем список из кортежей, где первый элемент - индекс, а второй исходный элемент заданного списка3. сортируем созданный список используя в качестве функции веса индекс элемента4. мапим результат оставляя только второй элемент кортежа
Я только начал изучать Python, по этому для меня это решение сложно и не совсем понятное. Но всё равно спасибо.
FishHook
Vyacheslav_Ryannel
Я только начал изучать Python, по этому для меня это решение сложно и не совсем понятное. Но всё равно спасибо.
ну так и скажите своему преподавателю, что задача для вас сложна и вы не можете её решить самостоятельно даже после того, как вам дали готовый алгоритм решения
Vyacheslav_Ryannel
FishHook
Я изучаю по книге.
FishHook
Vyacheslav_Ryannel
Окей, я вам сейчас дам готовое решение. Но оно вам хоть как-то поможет в изучении? Если вы сами не можете решить, что вам даст мой код?

если я правильно понял задание

  
l = [1, 4, 5, 1, 0, 9]
print([x[1] for x in sorted(enumerate(l), key=lambda i: i[0], reverse=True)])

помогло?
Vyacheslav_Ryannel
FishHook
Vyacheslav_RyannelОкей, я вам сейчас дам готовое решение. Но оно вам хоть как-то поможет в изучении? Если вы сами не можете решить, что вам даст мой код?если я правильно понял задание
На данный момент нет.
ZerG
Учитывая ваш уровень - ворос скорее всего не на умение разбираться в тонкостях,
а на работу с переменными и методами для закрепления
По этому я покажу вам пошагово
 my_list = [1, 5, 10, 2, 4, 3]
# Далее, согласно тому что sort() изменяет рабочий список, нам нужно создать копию с которой
# мы будем работать, методов есть несколько, выберем любой
# my_sorted_list = my_list.copy()
# my_sorted_list = my_list[:]
my_sorted_list = list(my_list)
my_sorted_list.sort() # Сортируем в обычном порядке
print(f"Sorted list:\n{my_sorted_list}")
my_sorted_list.reverse() # Делаем реверс после сортировки
print(f"Sorted list:\n{my_sorted_list}")
print(f"Original list:\n{my_list}")  # Проверяем что основной список не изменился

Читаем Лутца
Vyacheslav_Ryannel
ZerG
Учитывая ваш уровень - ворос скорее всего не на умение разбираться в тонкостях,а на работу с переменными и методами для закрепления По этому я покажу вам пошагово
Спасибо!
py.user.next
Vyacheslav_Ryannel
Есть список N. Нужно с помощью функции sorted() вывести список в обратном алфавитном порядке без изменения порядка исходного списка.
  
>>> lst = ['aaa', 'bbb', 'ddd', 'ccc', 'bbb', 'aaa', 'ddd', 'ccc']
>>> 
>>> out = sorted(lst, reverse=True)
>>> lst
['aaa', 'bbb', 'ddd', 'ccc', 'bbb', 'aaa', 'ddd', 'ccc']
>>> out
['ddd', 'ddd', 'ccc', 'ccc', 'bbb', 'bbb', 'aaa', 'aaa']
>>>

Видимо, это очень тупое задание, прямо слово в слово надо выполнять его.

ZerG
По этому я покажу вам пошагово
А где там функция sorted(), указанная в задании как обязательная?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB