Полезные советы по Python. Часть 1
2026-03-10 23:11 Diff

Теги: python, программирование на python, разработка на python, обмен значениями, транспонирование 2d-массива, цепное сравнение, создание списка, копирование списка, проверка анаграммы, строки

Собрали несколько полезных советов по 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)

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