Архив автора: admin

Сортировка списка в Python

Сортировка данных — одна из самых распространенных задач при работе с Python. Например, вы можете отсортировать список членов команды по имени или список проектов в порядке приоритета.

В этой статье описывается, как сортировать списки в Python.

 

Sort() и sorted() в Python

В Python вы можете отсортировать список, используя встроенный метод list.sort() или встроенную функцию sorted().

Функция sorted() создает новый отсортированный список, в то время как метод list.sort() сортирует список на месте. Если вы хотите сохранить, несортированный список использовать функцию sorted(). Другое отличие состоит в том, что функция sorted() работает с любым повторяемым объектом.

Синтаксис sort()и sorted()следующий:

list.sort(key=function, reverse=Boolean)


 

sorted(iterable, key=function, reverse=Boolean)


 

Необязательные ключевые аргументы key и reverse имеют следующее значение:

  • key — Функция, которая принимает один аргумент и преобразует его перед сравнением. Функция должна возвращать одно значение, которое используется для сравнения сортировки.
  • reverse — Значение реверса может быть либо либо, True либо False. Значением по умолчанию является True. Когда для этого аргумента установлено значение false, список сортируется в обратном порядке.

Элементы списка сравниваются с помощью оператора < (меньше чем) и сортируются по возрастанию. Оператор < не поддерживает сравнения строки в целое число, так что если у вас есть список , содержащие строки и целые числа, то операция сортировки не удастся.

В следующем примере показано, как отсортировать список строк в алфавитном порядке:

directions = ["north", "east", "south", "west"] 



directions.sort()



print('Sorted list:', directions)


 

Sorted list: ['east', 'north', 'south', 'west']


 

Если вы хотите сохранить исходный список без изменений, используйте функцию sorted():

directions = ["north", "east", "south", "west"] 



sorted_directions = sorted(directions)



print('Sorted list:', sorted_directions)


 

Sorted list: ['east', 'north', 'south', 'west']


 

Чтобы отсортировать список в обратном (нисходящем) порядке, установите аргумент reverse в True:

directions = ["north", "east", "south", "west"] 



directions.sort(reverse=True)



print('Sorted list:', directions)


 

Sorted list: ['west', 'south', 'north', 'east']


 

Сортировка с функцией

Аргумент key принимает функцию и позволяет выполнять более сложные операции сортировки.

Самый простой пример — сортировка элементов по длине:

directions = ["Destroyer", "Alex", "AndreyEx", "Max"] 



directions.sort(key=len)



print('Sorted list:', directions)


 

Мы используем функцию len(), чтобы вернуть количество символов в строке, которая используется в качестве компаратора:

Sorted list: ['AndreyEx', 'Destroyer', 'Max', 'Alex']


 

Вы также можете создать пользовательскую функцию и использовать ее в качестве keyаргумента для сравнения. Вот пример, показывающий, как отсортировать список целых чисел по сумме их цифр:

def sum_digits(num): 

    digits = [int(x) for x in str(num)] 

    return sum(digits) 

      

numbers = [23, 77, 19, 310, 219] 



numbers.sort(reverse=True, key=sum_digits)



print('Sorted list:', numbers)


Sorted list: [77, 219, 19, 23, 310]


 

Другим примером может быть использование ключевого аргумента для сортировки сложного списка, такого как список кортежей:

numbers = [(3, 14), (1, 61), (2, 71)]



numbers.sort(key=lambda k: k[0])



print('Sorted list:', numbers)


 

Мы используем анонимную (лямбда) функцию, которая возвращает первый элемент кортежа. Список отсортирован по значению, возвращенному функцией:

Sorted list: [(1, 61), (2, 71), (3, 14)]


 

Тот же подход можно использовать для сортировки списка словарей:

elements = [

    {'name': 'Germanium', 'number': 25, 'symbol': 'ge'},

    {'name': 'Silver', 'number': 47, 'symbol': 'ag'},

    {'name': 'Iron', 'number': 26, 'symbol': 'fe'},

]



elements.sort(key=lambda k: k['name'])



print('Sorted list:', elements)


 

Лямбда-функция возвращает значение nameключа, которое используется для сравнения:

Sorted list: [

    {'name': 'Germanium', 'number': 25, 'symbol': 'ge'}, 

    {'name': 'Iron', 'number': 26, 'symbol': 'fe'}, 

    {'name': 'Silver', 'number': 47, 'symbol': 'ag'}

]


 

Лучший и более быстрый способ сортировки сложной функции — использовать функции модуля «Оператор». Вот пример:

from operator import itemgetter



elements = [

    {'name': 'Germanium', 'number': 25, 'symbol': 'ge'},

    {'name': 'Silver', 'number': 47, 'symbol': 'ag'},

    {'name': 'Iron', 'number': 26, 'symbol': 'fe'},

]



elements.sort(key=itemgetter('symbol')) 



print('Sorted list:', elements)


 

Функция itemgetter считывает значение ключа symbol:

Sorted list: [

    {'name': 'Silver', 'number': 47, 'symbol': 'ag'},

    {'name': 'Iron', 'number': 26, 'symbol': 'fe'},

    {'name': 'Germanium', 'number': 25, 'symbol': 'ge'}

]


 

Вывод

Мы показали вам, как сортировать списки в Python, используя метод sort() и функцию sorted().

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-06-04T12:54:49
Python

Мир – это чувственное явление откровения, мышлением его не познать

“Кто осведомлен о новейших исследованиях и духовных направлениях, знает, что кажущаяся незыблемой наука пошатнулась, особенно естествознание. Многие учёные пришли к пониманию, что мы ничего не можем знать, и не узнаем. А я скажу, что нам и не надо знать. Возможно это нужно человечеству [человеческому обществу] для его мнимых успехов, но человеку этого не нужно. К чему наука, когда всё снова сводится к заблуждению и вреду, и само по себе мышление патологично, пока человек не станет полностью здоровым! Мыслительный процесс – это сравнение фактов, наблюдений, их логическая связь. Все мировоззрения и науки страдают тем, что они не рассматривают мир единым, не рассматривают его художественно как чувственное явление откровения, а всё, в том числе организмы, изымают [из Сущего] и рассматривают в отдельности через микроскоп.”

(Арнольд Эрет)
Автор: KM Zhuma

Профилактика простатита

О том, что простатит распространенная болезнь многие знают не понаслышке.

Статистика утверждает, что каждый второй мужчина после сорока лет страдает этим недугом. Многие мужчины стараются скрыть эту информацию, как от других, так и от себя продолжая подвергать себя опасности. Тем же, кому не безразлично свое здоровье будет интересно услышать несколько полезных советов для укрепления своего здоровья.

В первую очередь это активный образ жизни.

Физическая активность не только помогает хорошо выглядеть, но и благоприятно влияет на оздоровление простаты в частности. Читать

Как отключить автоматический запуск Steam после загрузки Windows 10

Если вы ежедневно играете во многие видеоигры через Steam , то запускать клиент автоматически при запуске Windows 10 не составит труда. Однако в те моменты, когда вы просто хотите поработать, клиент Steam может отвлечь вас.

Главный вопрос заключается в том, как мы можем запретить Steam открываться каждый раз при загрузке в Windows 10. Есть несколько способов сделать это, и мы собирались поговорить о них, чтобы помочь вам сосредоточиться, когда игры находятся не на вашем разум.

Steam не нужно запускать автоматически, если вы не используете его регулярно. Итак, давайте посмотрим, как остановить Steam от автозапуска. Читать

Как всегда показывать полные URL в браузере Chrome на Windows 10

Ранее многие пользователи высказывали возражения по поводу одностороннего решения компании скрыть начало URL-адресов веб-сайтов от омнибокса Chrome. К счастью, эта проблема была решена в последней версии браузера — браузере Google Chrome. Теперь браузер позволяет своим пользователям включать полные URL.

Всегда показывать полные URL в браузере Chrome

Ранее реализовав экспериментальную опцию для отображения полных веб-адресов (URL) на разовой основе, текущая стабильная сборка Chrome для Windows, Mac и Linux позволяет пользователям отображать полный адрес в поле URL.

Новый Chrome возвращает «www» с возможностью показа полных URL. За это:

  1. Запустите Chrome.
  2. Посетите chrome://flags.
  3. Поиск контекстного меню показывает полные URL-адреса.
  4. Измените запись по умолчанию на Включено
  5. Перезапустите Chrome.

Щелкните правой кнопкой мыши омнибар и установите флажок Всегда показывать полные URL-адреса.

Разработчики Chrome взяли на себя задачу представить что-то уникальное в браузере. Таким образом, они начали удалять даже простые вещи, которые пользователи находили полезными. Одно из внесенных изменений не отображало теги HTTP/HTTPS и www в строке URL. Это означало, что пользователи могли видеть только домен и страницу, которую они посещали. Буквы были видны только при двойном щелчке и не полный рабочий день. Теперь все изменилось навсегда!

Запустите браузер Chrome.

Посетите страницу chrome://flags, введя адрес в поле URL.

Это запустит экран экспериментальных флагов.

Найдите следующую запись: в контекстном меню отображаются полные URL-адреса .

Кроме того, вы можете ввести следующий путь в адресной строке Chrome —

chrome://flags/#omnibox-context-menu-show-full-urls

Когда видно, нажмите стрелку раскрывающегося списка рядом с параметром и измените настройку с «По умолчанию» на «Включено».

Когда закончите, перезапустите браузер.

Теперь просто щелкните правой кнопкой мыши строку URL и выберите параметр «Всегда показывать полные URL».

В дальнейшем ваш браузер Chrome начнет отображать полные URL-адреса в Chrome постоянно.

Надеюсь, вам понравится эта функция.



2020-06-03T09:03:01
Вопросы читателей

Как отключить или включить режим чтения в браузере Chrome в Windows 10

Функция « Режим чтения» теперь доступна в настольной версии браузера Chrome . Используя эту функцию, вы можете избавиться от веб-отвлекающих факторов и ненужных всплывающих окон, которые затрудняют чтение некоторых веб-страниц. Хотя эта функция по умолчанию скрыта и имеет новое имя, т.е. режим Distill . В этом руководстве мы объяснили два способа отключения или включения режима чтения в Chrome.

Включить или отключить режим чтения в Chrome

Ранее в Chrome появился режим чтения для Android. После этого компания планировала развернуть аналогичную поддержку и для Windows 10. Чтобы попробовать, следуйте советам:

  1. Через настройки
  2. Использование флага

Давайте узнаем оба метода в подробном виде.

1] Через настройки

Чтобы включить или отключить режим чтения через Настройки, следуйте приведенным ниже инструкциям:

  1. Обновите Google Chrome до последней версии.
  2. Откройте диалоговое окно «Свойства Google Chrome».
  3. Включите режим чтения, добавив команды в поле «Цель».
  4. Отключите режим чтения, удалив команду из поля «Цель».

Давайте посмотрим на них в деталях:

Прежде чем начать процесс, сначала необходимо проверить, установлена ​​ли последняя версия Google Chrome. Если доступно какое-либо обновление, загрузите и установите его. После завершения процесса нажмите кнопку «Перезапустить», чтобы изменения вступили в силу.

После обновления браузера Chrome до последней версии убедитесь, что вы прикрепили значок Chrome к панели задач.

После этого щелкните правой кнопкой мыши значок Chrome. В списке параметров снова щелкните правой кнопкой мыши «Google Chrome», а затем нажмите кнопку «Свойства», как показано на снимке ниже.

При нажатии кнопки «Свойства» открывается диалоговое окно «Свойства Google Chrome».

На вкладке «Ярлык» рядом с полем «Цель» указан путь к файлу EXE для приложения Chrome. Добавьте следующую фразу в конец текста:

--enable-dom-distiller

После добавления нажмите Применить, а затем кнопку ОК, чтобы сохранить изменения.

Вот и все, флаг теперь активирован. Чтобы использовать эту функцию, нажмите на три точки, а затем выберите опцию Distill page из списка меню. Он начнет отображать текущую веб-страницу в режиме чтения без каких-либо отвлекающих объявлений или других элементов страницы.

Чтобы отключить эту функцию, откройте окно «Свойства» браузера Chrome. Затем удалите добавленную фразу из поля «Цель» на вкладке «Ярлык».

Как только вы отключите режим чтения, вы увидите, что опция Distill page также удаляется из списка меню (трехточечная линия) браузера.

2] Используйте флаг, чтобы отключить или включить режим чтения в Chrome

Чтобы включить режим чтения с помощью флажка, следуйте приведенным ниже рекомендациям.

Откройте браузер Chrome и введите указанную ниже ссылку в адресную строку.

chrome://flags/#enable-reader-mode

Нажмите клавишу Enter, чтобы открыть страницу флага напрямую.

В списке доступных флагов вы можете четко заметить флаг «Включить режим чтения», выделенный желтым цветом.

Выберите раскрывающееся меню и установите флажок «Включено» в параметре «Отключено». После этого нажмите кнопку «Перезапустить», чтобы изменения вступили в силу.

Таким же образом, вы можете снова отключить флаг, если вы передумали и хотите их вернуть.

Соответственно, чтобы отключить режим чтения, откройте страницу флага и выберите раскрывающееся меню рядом с параметром «Включить режим чтения».

После этого установите флажок «Отключить» или «По умолчанию», а затем нажмите кнопку «Перезапустить», чтобы изменения вступили в силу.

Я надеюсь, что это руководство окажется для вас полезным, и теперь вы наслаждаетесь средой Reader Mode в Chrome без отвлекающих факторов и беспорядка.



2020-06-03T08:57:54
Вопросы читателей