Что такое ключ сортировки
Ключ сортировки в табличных выходных формах — поле, по значению которого производится сортировка записей (их упорядочение в таблице).
Ключей сортировки может быть несколько, тогда они называются первичным, вторичным и т. д. Для сортировки необходимо указать поле, по которому будет проводиться сортировка, и вид сортировки (например, По возрастанию). В результате все сведения будут представлены в алфавитном порядке по фамилиям. Если тип поля — числовой, то записи рассредоточатся по возрастанию или убыванию значений этого поля. Сортировка текстовых данных производится по алфавиту, а числовых — по возрастанию.
Общее описание, Приложение 9. Генератор табличных форм:
В средней области интерфейса задаются ключи сортировки. Таблица для задания ключей активизируется индикатором «СОРТИРОВКА». Сортировка может быть задана с помощью меню «СПИСОК СОРТИРОВОК». [. ]
Ключи сортировки могут указываться и непосредственно с помощью соответствующей таблицы в средней области интерфейса. Количество ключей сортировки определяется с помощью числового индикатора «ЧИСЛО КЛЮЧЕЙ». Для описания каждого ключа сортировки служат три параметра: длина ключа, режим сортировки и формат выбора. Поддерживаются два режима сортировки: «единственный ключ» и «множественный ключ».
По мотивам Руководства по CDS/ISIS для Windows:
Ключом сортировки может быть имя автора. Для плодовитых авторов можно установить еще и подзаголовки. Эти подзаголовки будут служить вторым ключом сортировки. [. ] записи могут быть упорядочены по какому-либо другому элементу, например, по заглавию.
[. ]
Здесь ключом сортировки является имя автора. Для плодовитых авторов можно установить еще и подзаголовки. Эти подзаголовки будут служить вторым ключом сортировки. Например:
SHAKESPEARE, William
Plays
All’s well that ends well…
Poems
The phoenix and the turtle…
Помимо подзаголовков, записи могут быть упорядочены по какому-либо другому элементу, например, по заглавию. Этот дополнительный ключ сортировки может не использоваться как заголовок.
Редактировано 2 раз. Последний раз 26.12.2012 11:58 пользователем Lavrinovich.
Ключ сортировки
Ключ сортировки — ключ, записанный в одном или нескольких полях файла. Использование ключей сортировки позволяет проводить упорядочение записей файла.
См. также: Ключи
Финансовый словарь Финам .
Смотреть что такое «Ключ сортировки» в других словарях:
- ключ сортировки — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN sortkey … Справочник технического переводчика
- Ключ (иероглифика) — Для термина «Ключ» см. другие значения. Распределение 214 ключей по частотности в словаре «Кан си». Иероглифический ключ (部首 б … Википедия
- КЛЮЧ К ТЕСТУ — упорядоченные наборы правильных (а иногда неправильных) ответов на вопросы либо наборы ответов с оценками к вопросам или вариантам ответов на них для определения степени выраженности той или иной характеристики личности. По форме К. к т. бывают… … Энциклопедический словарь по психологии и педагогике
- Алгоритм сортировки — это алгоритм для упорядочения элементов в списке. В случае, когда элемент списка имеет несколько полей, поле, служащее критерием порядка, называется ключом сортировки. На практике в качестве ключа часто выступает число, а в остальных полях… … Википедия
- Пролив Лаперуза — 宗谷海峡 (Karafuto) … Википедия
- Остров Попова — Это статья об острове в Японском море, об одном из Алеутских островов см. статью Попов (остров). Попова Координаты: Координаты … Википедия
- Остров Скребцова — Скребцова (Коврижка) Координаты:&# … Википедия
- Архипелаг Римского-Корсакова — Архипелаг Римского Корсакова … Википедия
- Остров Фуругельма — Фуругельма Координаты: Координаты … Википедия
- Остров Рикорда — Рикорда … Википедия
- Обратная связь: Техподдержка, Реклама на сайте
- Путешествия
Экспорт словарей на сайты, сделанные на PHP,
WordPress, MODx.
- Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
- Искать во всех словарях
- Искать в переводах
- Искать в ИнтернетеИскать в этой же категории
Поделиться ссылкой на выделенное
Прямая ссылка:
… Нажмите правой клавишей мыши и выберите «Копировать ссылку»
Значение словосочетания «ключ сортировки»
Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!
Спасибо! Я стал чуточку лучше понимать мир эмоций.
Вопрос: китаевед — это что-то нейтральное, положительное или отрицательное?
Нейтральное
Положительное
Отрицательное
Ассоциации к слову «ключ»
Ассоциации к слову «сортировка»
Синонимы к слову «ключ»
Синонимы к слову «сортировка»
Предложения со словосочетанием «ключ сортировки»
- Сортировка является устойчивой, т. е. относительный порядок элементов с одинаковыми ключами сортировки не изменяется.
Сочетаемость слова «ключ»
- гаечный ключ
запасные ключи
нужный ключ - ключ зажигания
ключ доступа
ключом двери - связка ключей
в поисках ключей
звук ключа - ключ подошёл
ключ повернулся
ключ нашёлся - открыть дверь своим ключом
повернуть ключ
достать ключи - (полная таблица сочетаемости)
Сочетаемость слова «сортировка»
- первичная сортировка
- сортировка мусора
сортировка писем
сортировкой документов - процесс сортировки
- заняться сортировкой
приступил к сортировке
приняться за сортировку - (полная таблица сочетаемости)
Афоризмы русских писателей со словом «ключ»
- Жизнь в безвременье мчится
Пересохшим ключом:
Все земное нам снится
Утомительным сном.
Отправить комментарий
Дополнительно
- Как правильно пишется слово «ключ»
- Как правильно пишется слово «сортировка»
- Разбор по составу слова «ключ» (морфемный разбор)
- Разбор по составу слова «сортировка» (морфемный разбор)
Смотрите также
Значение слова «ключ»
КЛЮЧ 1 , -а́, м. 1. Металлическое приспособление для запирания и отпирания замка. Ключ от квартиры.
КЛЮЧ 2 , -а́, м. Бьющий из земли источник, родник.
Значение слова «сортировка»
СОРТИРО́ВКА , -и, род. мн. —вок, дат. —вкам, ж. 1. Действие по знач. глаг. сортировать. Сортировка зерна. Сортировка руды. Сортировка вагонов.
Предложения со словосочетанием «ключ сортировки»
- Сортировка является устойчивой, т. е. относительный порядок элементов с одинаковыми ключами сортировки не изменяется.
- Таблица SPIDBF20.dbf содержит список ключей сортировок таблиц.
- (все предложения)
Синонимы к слову «ключ»
Синонимы к слову «сортировка»
Ассоциации к слову «ключ»
Ассоциации к слову «сортировка»
Сочетаемость слова «ключ»
- гаечный ключ
- ключ зажигания
- связка ключей
- ключ подошёл
- открыть дверь своим ключом
- (полная таблица сочетаемости. )
Сочетаемость слова «сортировка»
- первичная сортировка
- сортировка мусора
- процесс сортировки
- заняться сортировкой
- (полная таблица сочетаемости. )
Морфология
- Разбор по составу слова «ключ»
- Разбор по составу слова «сортировка»
Правописание
- Как правильно пишется слово «ключ»
- Как правильно пишется слово «сортировка»
Карта слов и выражений русского языка
Онлайн-тезаурус с возможностью поиска ассоциаций, синонимов, контекстных связей и примеров предложений к словам и выражениям русского языка.
Справочная информация по склонению имён существительных и прилагательных, спряжению глаголов, а также морфемному строению слов.
Сайт оснащён мощной системой поиска с поддержкой русской морфологии.
Ключ сортировки key
Методы sort , sorted могут принимать именованный аргумент key . Он должен быть функцией (или чем-то другим вызываемым – callable) с одним аргументом. Смысл key в том, что он вызывается ровно один раз для каждого из элементов списка (итератора и т.п.), которой мы сортируем, и указывает порядок сортировки: элементы выстраиваются ровно в том порядке, в каком бы выстроился сортированный список результатом вызова key на всех элементах:
- Применить key ко всем элементам
- Отсортировать результаты key по порядку, используя обычное сравнение «больше-меньше» для (чисел, строк и т.п.)
- Выстроить исходные данные согласно этому порядку.
key нужен, чтобы либо сортировать данные по нестандартному признаку или нескольким признакам сразу.
>>> sorted(['Wolf', 'Sparrow', 'Cat'], key=len) ['Cat', 'Wolf', 'Sparrow'] >>> len('Cat') 3 >>> len('Wolf') 4 >>> len('Sparrow') 7
Или другой пример. У нас есть список координат точек [(x, y), . ] . Хотим расположить их по расстоянию от начала координат (0, 0) :
pts = [(10, 20), (-100, 150), (0, 0), (40, -30)] print(sorted(pts, key=lambda p: p[0] ** 2 + p[1] ** 2)) # [(-100, 150), (40, -30), (10, 20), (0, 0)]
Но, что если у нас, скажем, список кортежей? По умолчанию (стандартно) кортежи сравниваются сначала по первому элементу, а потом, если первые равны – по второму, и так далее. Если нужно игнорировать первый элемент и сразу сравнивать по второму – это уже и есть нестандартный признак.
drinks = [ # напиток, цена ('Juice', 100), ('Beer', 200), ('Soda', 50), ('Cocktail', 400), ('Water', 20) ] print(sorted(drinks, key=lambda drink: drink[1])) # [('Water', 20), ('Soda', 50), ('Juice', 100), ('Beer', 200), ('Cocktail', 400)] # без key: print(sorted(drinks)) # отсортирует по названию напитка # [('Beer', 200), ('Cocktail', 400), ('Juice', 100), ('Soda', 50), ('Water', 20)]
Бонус: если хотите поменять порядок сортировки на обратный, можно либо в лямбде поставить минус перед возвращаемым значениям, но лучше в sorted передать reverse=True .
print(sorted(drinks, key=lambda drink: -drink[1])) # или лучше print(sorted(drinks, key=lambda drink: drink[1], reverse=True)) # [('Cocktail', 400), ('Beer', 200), ('Juice', 100), ('Soda', 50), ('Water', 20)]
Сортировка по нескольким признакам сразу
Задача на примере тех же напитков. Отсортировать сначала по числу букв в названии, а если название одинаковой длины, то отсортировать по цене от дорогих к дешевым:
print(sorted(drinks, key=lambda dr: (len(dr[0]), -dr[1]))) # [('Beer', 200), ('Soda', 50), ('Juice', 100), ('Water', 20), ('Cocktail', 400)]
Здесь использовано свойство сравнения кортежей. Давайте прогоним нашу лямбду по элементам и посмотрим на те ключи, которые действительно будет сравнивать sorted :
>>> list(map(lambda dr: (len(dr[0]), -dr[1]), drinks)) [(5, -100), (4, -200), (4, -50), (8, -400), (5, -20)]
Видите, первым теперь идет длина строки, а потом цена с минусом. Поэтому первыми после сортировки пойдут элементы с четверкой в ключе, а среди двух (4, -200), (4, -50) порядок сохранится, потому что -200 < -50 .
Модуль operator
Вместо лямбды можно взять одну из библиотечных функций из модуля operator. Есть несколько вариантов для разных ситуаций.
Функция itemgetter(i) берет i-тый элемент кортежа или списка (или ищет по ключу i в dict):
from operator import itemgetter print(sorted(drinks, key=itemgetter(1))) # [('Water', 20), ('Soda', 50), ('Juice', 100), ('Beer', 200), ('Cocktail', 400)]
# преобразуем список кортежей в список словарей drinks_dict = [ for name, price in drinks] print(drinks) # вывод: [, , , , ] print(sorted(drinks, key=itemgetter('pr'))) # вывод: [, , , , ]
Теперь представим, что у нас есть класс Drink , и нужно сортировать по атрибуту price . Это можно сделать лямбдой или функцией attrgetter , которая получает атрибут объекта по имени этого атрибута:
class Drink: def __init__(self, name, price): self.name = name self.price = price def __repr__(self): return f'Drink("", )' drinks_cls = [ # напиток, цена Drink('Juice', 100), Drink('Beer', 200), Drink('Soda', 50), Drink('Cocktail', 400), Drink('Water', 20) ] print(sorted(drinks_cls, key=lambda drink: drink.price)) # или from operator import attrgetter print(sorted(drinks_cls, key=attrgetter('price')))
Еще есть methodcaller , она вызывает метод по имени и использует результат его, как ключ для сортировки.
from operator import methodcaller sorted(items, key=methodcaller('get_reserve', category='home')) # тоже самое что: sorted(items, key=lambda item: item.get_reserve(category='home'))
Исследование производительности
Вариант с лямбдой немного медленнее (потому что операторы написаны на Си, а лямбду – мы пишем на Python). Проведем тесты производительности:
from random import shuffle from timeit import timeit from operator import itemgetter data = [ for x in range(1000)] shuffle(data) def sort_itemgetter(data): data.sort(key=itemgetter('ident')) def sort_lambda(data): data.sort(key=lambda it: it['ident']) print('sort_itemgetter:', timeit('sort_itemgetter(list(data))', globals=globals(), number=10000)) print('sort_lambda:', timeit('sort_lambda(list(data))', globals=globals(), number=10000)) # sort_itemgetter: 1.6157471220000001 # sort_lambda: 1.8793544059999998
ig = itemgetter('ident') la = lambda it: it['ident'] di = print('itemgetter:', timeit('ig(di)', globals=globals(), number=1000000)) print('lambda:', timeit('la(di)', globals=globals(), number=1000000)) # itemgetter: 0.083 # lambda: 0.11
itemgetter быстрее, чем lambda, ибо он написан на Си.
Смотрите, как вам удобнее. Лично мне нравится все-таки вариант с лямбдами, потому что в нем меньше возможности ошибиться, так как нет строк, зато работает авто-дополнение от среды разработки.
min и max
Методы min и max также поддерживают key . Они вернут соответственно элемент, у которого key вернет наименьшее или наибольшее значение. На примере длины строк:
names = ['Wolf', 'Sparrow', 'Cat'] min(names, key=len) # 'Cat' max(names, key=len) # 'Sparrow'
Самая ближняя от начала координат точка и самая дальняя:
pts = [(10, 20), (-100, 150), (0, 0), (40, -30)] min(pts, key=lambda p: p[0] ** 2 + p[1] ** 2) # (0, 0) max(pts, key=lambda p: p[0] ** 2 + p[1] ** 2) # (-100, 150)
Специально для канала @pyway. Подписывайтесь на мой канал в Телеграм @pyway