Полезные советы по Python, часть 2 | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
Разработчик чат-ботов и приложений для виртуальных ассистентов
-15%
PHP Developer. Professional Алгоритмы и структуры данных Scala-разработчик PHP Developer. Basic C# Developer. Professional
-23%
C# ASP.NET Core разработчик Python Developer. Basic Python Developer. Professional Cloud Solution Architecture Специализация iOS
-25%
HTML/CSS Android Developer. Professional React.js Developer Unity Game Developer. Professional NoSQL Java Developer. Professional Highload Architect C++ Developer. Basic Web-разработчик на Python Unity Game Developer. Basic Интенсив «Оптимизация в Java» Супер-практикум по использованию и настройке GIT Symfony Framework Java Developer. Basic Супер-интенсив "Tarantool"
Инфраструктура
MongoDB
-30%
Разработчик чат-ботов и приложений для виртуальных ассистентов
-15%
Administrator Linux. Professional
-26%
Network engineer Administrator Linux. Advanced Специализация Administrator Linux
-25%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-27%
NoSQL Инфраструктурная платформа на основе Kubernetes Highload Architect Мониторинг и логирование: Zabbix, Prometheus, ELK Супер-практикум по использованию и настройке GIT Administrator Linux.Basic Экспресс-курс «IaC Ansible» Экспресс-курс по управлению миграциями (DBVC) Экспресс-курс "Версионирование и командная работа с помощью Git" Network engineer. Basic Основы Windows Server
Корпоративные курсы
Безопасность веб-приложений MongoDB
-30%
Разработчик чат-ботов и приложений для виртуальных ассистентов
-15%
Agile Project Manager Руководитель поддержки пользователей в IT
-10%
Промышленный ML на больших данных Cloud Solution Architecture Внедрение и работа в DevSecOps Spark Developer Reverse-Engineering IT-Recruiter Machine Learning. Professional Интенсив «Оптимизация в Java» Супер-практикум по использованию и настройке GIT Экcпресс-курс «ELK» Enterprise Architect Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Экспресс-курс «Введение в непрерывную поставку на базе Docker» Вебинар CERTIPORT
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

Полезные советы по Python, часть 2

Python_Deep_21.4-5020-b7f3c2.png

В предыдущей заметке мы демонстрировали полезные кусочки кода, которые могут существенно сэкономить вам время при программировании на Python. Продолжаем!

1. Получение словаря:

"""returning None or default value, when key is not in dict"""
d =  1, 'b': 2}

print(d.get('c', 3))

2. Сортировка словаря по значению:

"""Sort a dictionary by its values with the built-in sorted() function and a 'key' argument."""

d = {'apple': 10, 'orange': 20, 'banana': 5, 'rotten tomato': 1}
print(sorted(d.items(), key.lambda x: 41)))


"""Sort using operator.itemgetter as the sort key instead of a lambda"""


from operator import itemgetter


print(sorted(doitems(), key.itemgetter(1)))


"""Sort dint keys by value"""


print(sorted(d, key=d.get))

3. Преобразуем список:

"""converts list to comma separated string"""

items = ['foo', 'bar', 'xyz']

print (','.join(items))

"""list of numbers to comma separated"""
numbers = [2, 3, 5, 10]

print (','.join(map(str, numbers)))

"""list of mix data"""
data = [2, 'hello', 3, 3.4]

print (','.join(map(str, data)))

4. Слияние диктов:

"""merge dict's"""

D1   {'a': 1}
d2 = {'b': 2}

# python 3.5
print({**d1, **d2})

print(dict(d1.items() | d2.items()))

d1.update(d2)
print(d1)

5. Находим минимальный и максимальный индекс в списке:

"""Find Index of Min/Max Element."""

1st = [40, 10, 20, 30]


def minIndex(lst):
  return min(range(len(lst)), key=lst.__getitem__)


def maxlndex(lst):
  return max(range(len(lst)), key=lst.__getitem__)

print(minIndex(lst))
print(maxIndex(lst))

6. Удаляем дубликаты из списка:

  """remove duplicate items from list. note: does not preserve the original list order"""

  items = [2, 2, 3, 3, 1]

  newitems2 = list(set(items))
  print(newitems2)

  """remove dups and keep order"""

  from collections import OrderedDict

  items = rfoo", "bar", "bar", "fool

  print(list(OrderedDict.fromkeys(items).keys()))

7. И кое-что для else:

"""else gets called when for loop does not reach break statement"""
a = [1, 2, 3, 4, 5]
for el in a:
 if el == 0:
   break
else:
 print('did not break out of for loop')

Большинство трюков и советов взято из PyTricks и различных блогов. Первоисточник находится здесь.

На этом пока всё. Если хотите узнать больше, записывайтесь на курс «Разработчик Python». И оставляйте свои комментарии!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
🔥 Выгодные предложения
Подборка курсов, которые можно приобрести по выгодной цене только до конца июля!