Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 22, 2022 18:26:39

Vyacheslav_Ryannel
Зарегистрирован: 2022-06-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением

Есть список N. Нужно с помощью функции sorted() вывести список в обратном алфавитном порядке без изменения порядка исходного списка.

Офлайн

#2 Июнь 22, 2022 18:40:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите с решением

1. идем в документацию питона, находим функцию sorted, нас интересуют два аргумента. Первый позволяет задать функцию определяющую вес элемента при сортировке, второй - порядок сортировки
2. используя функцию enumerate создаем список из кортежей, где первый элемент - индекс, а второй исходный элемент заданного списка
3. сортируем созданный список используя в качестве функции веса индекс элемента
4. мапим результат оставляя только второй элемент кортежа



Отредактировано FishHook (Июнь 22, 2022 18:45:57)

Офлайн

#3 Июнь 22, 2022 18:47:48

Vyacheslav_Ryannel
Зарегистрирован: 2022-06-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением

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

Офлайн

#4 Июнь 22, 2022 19:06:40

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите с решением

Vyacheslav_Ryannel
Я только начал изучать Python, по этому для меня это решение сложно и не совсем понятное. Но всё равно спасибо.
ну так и скажите своему преподавателю, что задача для вас сложна и вы не можете её решить самостоятельно даже после того, как вам дали готовый алгоритм решения



Офлайн

#5 Июнь 22, 2022 19:10:23

Vyacheslav_Ryannel
Зарегистрирован: 2022-06-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением

FishHook
Я изучаю по книге.

Офлайн

#6 Июнь 22, 2022 19:23:06

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите с решением

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)])

помогло?



Офлайн

#7 Июнь 22, 2022 19:28:05

Vyacheslav_Ryannel
Зарегистрирован: 2022-06-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением

FishHook
Vyacheslav_RyannelОкей, я вам сейчас дам готовое решение. Но оно вам хоть как-то поможет в изучении? Если вы сами не можете решить, что вам даст мой код?если я правильно понял задание
На данный момент нет.

Офлайн

#8 Июнь 22, 2022 20:20:19

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2586
Репутация: +  60  -
Профиль   Отправить e-mail  

Помогите с решением

Учитывая ваш уровень - ворос скорее всего не на умение разбираться в тонкостях,
а на работу с переменными и методами для закрепления
По этому я покажу вам пошагово

 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}")  # Проверяем что основной список не изменился

Читаем Лутца



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#9 Июнь 22, 2022 20:52:25

Vyacheslav_Ryannel
Зарегистрирован: 2022-06-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением

ZerG
Учитывая ваш уровень - ворос скорее всего не на умение разбираться в тонкостях,а на работу с переменными и методами для закрепления По этому я покажу вам пошагово
Спасибо!

Офлайн

#10 Июнь 22, 2022 21:14:02

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

Помогите с решением

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(), указанная в задании как обязательная?



Отредактировано py.user.next (Июнь 22, 2022 21:15:21)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version