|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
||||||
Сортировка списка по ключу29.07.2020, 19:44. Показов 11067. Ответов 16
В случае сортировки списка по ключу при заданной функции:
0
|
||||||
| 29.07.2020, 19:44 | |
|
Ответы с готовыми решениями:
16
|
| 29.07.2020, 20:01 | ||||||
|
AlexMarkov, key, это параметр, в качестве значения которого обычно используется функция. Не нужно называть его ключем. Здесь это слово имеет отдаленный смысл, то есть это "ключ" для решения задачи использования сравнения для элементов списка.
key=None - Ожидается в форме именованного аргумента. Функция, принимающая аргументом элемент, используемая для получения из этого элемента значения для сравнения его с другими. None — сравнить элементы напрямую. Например: key=str.lower. Примеры:
1
|
||||||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
||||||
| 29.07.2020, 20:29 [ТС] | ||||||
|
Viktorrus, спасибо, но меня больше интересует итерирование по спискам, без использования хэш-функций...например, :
Добавлено через 9 минут Например при работе с данными типа int() при использовании DataFrame в библиотеке pandas. Я понимаю, что необходима четко сформулированная цель или поставленная задача для ответа на этот вопрос, мне необходимо общее понимание возможностей используемых языком программирования python при решении такого рода задач.
0
|
||||||
| 29.07.2020, 20:40 | ||
|
0
|
||
|
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
|
||||||||||||
| 29.07.2020, 20:41 | ||||||||||||
|
это тоже самое что сортировать
1
|
||||||||||||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
||
| 29.07.2020, 20:43 [ТС] | ||
|
0
|
||
| 29.07.2020, 20:49 | ||||||
|
А что касается Вашего примера, то здесь все ясно.
1
|
||||||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
|
| 29.07.2020, 20:53 [ТС] | |
|
0
|
|
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
||||||
| 29.07.2020, 20:55 [ТС] | ||||||
|
Viktorrus, например при применении алгоритма быстрой сортировки, возможен вариант реализации применения параметра key:
0
|
||||||
| 29.07.2020, 21:02 | ||
|
Добавлено через 4 минуты AlexMarkov, Почему Вы считаете, что Ваша сортировка быстрее? sorted написана на Си, а Ваша на питоне, и поэтому Ваша всегда будет медленнее, может быть только за исключением каких то частных случаев.
1
|
||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
||||||||
| 29.07.2020, 21:13 [ТС] | ||||||||
Добавлено через 6 минут Viktorrus, не могу наработать навыки использования более сложных функций в качестве ключа, поэтому задал этот вопрос, например в этом примере:
Данный пример взят из форума и написан с полным пониманием выполнения алгоритма данной функции, хотел бы так же...
0
|
||||||||
|
|
|
| 29.07.2020, 21:16 | |
|
AlexMarkov,
А каков был ваш настоящий вопрос? Я прочитал ваш пост, но что вас интересует так и не понял. Алгоритм сортировки в Python называется TimSort, по имени его изобретателя и автора Python дзен Тима Петерса. Это лучший алгоритм сортировки для частично упорядоченных данных, c которыми программистам приходится иметь дело чаще всего.
1
|
|
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
|||
| 29.07.2020, 21:31 [ТС] | |||
|
Добавлено через 3 минуты Добавлено через 2 минуты или я вообще ни чего не понимаю
0
|
|||
|
|
||||||
| 29.07.2020, 21:31 | ||||||
Сообщение было отмечено AlexMarkov как решение
Решение
Минус инвертирует порядок сравнения на обратный
-count инвертирует сравнение с возрастания по кол-ву на убывание по кол-ву. Сравнение по двум значениям означает, что сортировка сначала производится по первому ключу, затем по второму.
1
|
||||||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
||
| 29.07.2020, 21:43 [ТС] | ||
на заметку...
0
|
||
|
|
||
| 29.07.2020, 22:26 | ||
|
А вообще в Python доках есть отдельный раздел по сортировке: https://docs.python.org/3/howto/sorting.html Там есть примеры с сортировкой по ключам и с применением кастомной функции сортировки.
1
|
||
| 29.07.2020, 22:26 | |
|
Помогаю со студенческими работами здесь
17
Сортировка словаря по ЗНАЧЕНИЮ(не по ключу) Цифровая сортировка односвязного списка по ключу Цифровая сортировка односвязного списка по ключу Цифровая сортировка списка по составному ключу
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc
О Господи, Вечный, Ты . . .
Я помоги, Бесконечный. . .
Я прошу Ты. . .
Я погибаю, спаси. . .
Я прошу Тебя Вечный. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|