Полезные советы по Python. Часть 1 | OTUS
🚀 OTUS Fest 2021
Бесплатная образовательная онлайн-конференция для IT-специалистов.
Подробнее

Курсы

Программирование
Backend-разработчик на PHP
-9%
Алгоритмы и структуры данных
-9%
Team Lead
-6%
Архитектура и шаблоны проектирования Разработчик IoT
-13%
C# Developer. Professional
-9%
HTML/CSS
-11%
C# ASP.NET Core разработчик
-5%
Kotlin Backend Developer
-8%
iOS Developer. Professional
-8%
Java Developer. Basic C++ Developer. Professional Web-разработчик на Python MS SQL Server Developer Android Developer. Basic Разработчик программных роботов (RPA) на базе UiPath и PIX Microservice Architecture Unity Game Developer. Basic Разработчик голосовых ассистентов и чат-ботов React.js Developer Node.js Developer Интенсив «Оптимизация в Java» Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes JavaScript Developer. Basic Unity Game Developer. Professional Супер-интенсив Azure
Инфраструктура
Экспресс-курс «IaC Ansible»
-10%
Administrator Linux.Basic
-10%
Мониторинг и логирование: Zabbix, Prometheus, ELK
-10%
Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes»
-30%
Administrator Linux. Professional
-6%
Дизайн сетей ЦОД
-13%
NoSQL Основы Windows Server MS SQL Server Developer Инфраструктурная платформа на основе Kubernetes Cloud Solution Architecture Highload Architect Разработчик голосовых ассистентов и чат-ботов VOIP инженер Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Супер-интенсив "Tarantool"
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Полезные советы по Python. Часть 1

Python_Deep_3.02-5020-a823a9.png

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

1. Обмен значениями:

"""pythonic way of value swapping"""
a, b = 5, 10

print(a, b)

a, b = b, a

print(a, b)

2. Создание единой строки из всех элементов в списке:

a = ["Python", "is", "awesome"]
print( ".join(a))

3. Поиск наиболее часто встречающихся значений в списке:

""" most frequent element in a list """
a = [1, 2, 3, 1, 2, 3, 2, 2, 4, 5, l]
print(max(set(a),key = a.count))
""" using Counter from collections """

from collections import Counter

cnt = Counter(a)
print(cnt.most_common(3))

4. Проверка, являются ли два слова анаграммами:

from collections import Counter

Counter(str1) == Counter(str2)

5. Разворачиваем строку:

"""reversing string with special case of slice step param"""
a = 'abcdefghijklmnopqrstuvwxyz'
print(a[::-1])

"""iterating over string contents in reverse efficiently."""
for char in reversed(a):
print(char)

"""reversing an integer through type conversion and slicing."""
num = 123456789
print(int(str(num)[::-1]))

6. Разворачиваем список:

"""reversing list with special case of slice step param""" 
a = [5, 4, 3, 2, 1]
print(a[::-1])

"""iterating over list contents in reverse efficiently."""
for ele in reversed(a):
  print(ele)

7. Следующий код поможет транспонировать 2d-массив:

"""transpose 2d array [[a,b], [c,d], [e,f]] -> [[a,c,e], [b,d,f]]"""

original = [['a', 'b'], ['c', 'd'], ['e', 'f']]
transposed = zip(*original)
print( list( transposed))

8. А теперь цепное сравнение:

  """unchained comparison with all kind of operators"""
  b = 6
  b = 6
  print(4 < b < 7)
  print(1 == b < 20)

9. И условный вызов функции:

"""calling different functions with same arguments based on condition"""
def product(a, b):
  return a * b

def add(a, b):
  return a + b

b = True
print((product if b else add)(5, 7))

10. Ну и, конечно же, копирование списка:

"""a fast way to make a shallow copy of a list"""

b = a
b[0] = 10
""" both a and b will be[10,2, 3, 4, 5] """

b = a[:]
b[0] = 10
""" only b will change to[10,2, 3, 4, 5] """


"""copy list by typecasting method"""

a = [1, 2, 3, 4, 5]
print(list(a))


"""using the list.copy() method (python3 only)"""

a = [1, 2, 3, 4, 5]

print(a.copy())


"""copy nested lists using copy.deepcopy"""

from copy import deepcopy

1 = [[1, 2], [3, 4]]

12 = deepcopy(l)
print(12)

Коллеги, это первая из наших подборок. Второй блок полезных советов будет в следующей заметке, так что не пропустите! И, да, не забывайте задавать свои вопросы в комментариях!

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

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

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

Автор
0 комментариев
Для комментирования необходимо авторизоваться