У, ребята! Сегодня я собираюсь поделиться с вами лучшими советами и хитростями, чтобы освоить Python!
Эти советы основаны на моем опыте на кодинге, во время ClashofCode (Я был в топ -100 за один раз:))
1/Создать числовую последовательность
Иногда вы можете создать последовательность чисел: довольно интуитивно понятным способом было бы создать цикл и выполнить n вызовов метода Append ().
my_list = [] for i in range(0, 10, 1): my_list.append(i)
В действительности эта операция занимает довольно много времени, и лучше написать:
my_list = list(range(0,10,1))
>>> my_list = [0,1,2,3,4,5,6,7,8,9]
Это не только быстрее писать, но и быстрее вычислять!
2/Наложение двух словарей
Соглашение двух словарей может быть полезной операцией для группировки информации и избежать заблуждения во многих переменных … Таким образом, мы можем использовать метод Update ():
a = {"alpha": 3, "beta": 5} b = {"gamma": 1, "delta": 12} a.update(b)
>>> a = {"alpha": 3, "beta": 5, "gamma": 1, "delta": 12}
ПРЕДУПРЕЖДЕНИЕ: Если есть два идентичных ключа, то значение будет словарным б.
3/Создать словарь последовательности
Создавая словарь последовательности, я имею в виду легко создавать (в одной строке) словарь, где ключ зависит от x, и от того, где значение также зависит от x. Однако этот метод может быть изменен для создания словаря в соответствии с списком, входами и т. Д.
my_dic = {(x+2): (x**2 + 1) for x in range(4)}
>>> my_dic = {2: 1, 3: 2, 4: 5, 5: 10}
4/Обратный список
Инвертирование списка – одна из самых полезных вещей, которые вы можете сделать в Python. Вы должны знать эту операцию!
my_list = [1, 2, 3, 4] my_list = my_list[::-1]
>>> my_list = [4, 3, 2, 1]
Писать гораздо быстрее, гораздо более читаемо, и особенно быстрее выполнять, чем встроенная функция, которая обращена вспять ().
5/Распаковывать кортеж
Распаковка кортежа – это интересная операция, особенно для выполнения операций на значениях, и избежать необходимости получать значение каждый раз по его индексу:
my_tup = (0, 1, 2, 3) a, b, c, d = my_tup
>>> a = 0 >>> b = 1 >>> c = 2 >>> d = 3
6/Фильтр списка
Фильтрация списка является полезным процессом в алгоритмах или в более распространенных программах. Вы можете сохранить желаемые значения, передавая список в функцию, которая действует как фильтр. Эта функция возвращает истину (значение сохраняется) или false (значение удалено).
my_list = [1,2,3,4] def my_filter(x): if x==3 or x%2==0: return True else: return False my_list = list(filter(my_filter, my_list))
>>> my_list = [2,3,4]
7/вернуть несколько значений из функции
Мы знаем, что чтобы вернуть значение из списка, мы должны использовать возврат. Однако функция останавливается после возвращения значения. Тем не менее, мы можем использовать выход, чтобы продолжать выполнять функцию. Полезно для возврата переменных, для отладки и т. Д.
def my_func(x) for i in range(x): yield x**2 for k in my_func(4): print(k)
>>> 0 >>> 1 >>> 4 >>> 9
8/импортировать это
Эта библиотека – это скорее шутка, чем хитрость, но приятно знать маленькие пасхальные яйца на его языке:
import this
The Zen of Python Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. . . .
9/Основные операции на наборах
Если у нас есть два набора A и B, такие, что:
a = {1,2,3} b = {3,4,5}
Тогда мы можем выполнить следующие операции, которые вы должны знать!
# Union print(a & b)
>>> {1, 2, 3, 4, 5}
# Intersection print(a | b)
>>> {3}
# Symetric difference print(a ^ b)
>>> {1, 2, 4, 5}
10/код, если: else: в одной линии
Это не самый полезный трюк, но всегда полезно знать, как написать if: else: в одной строке, чтобы сделать код чище, или в кратчайшие кодовые соревнования на кодинге!
i = 1 if True else 2
>>> i = 1
11/Ограничить количество рекурсии алгоритма
Ограничение глубины рекурсии алгоритма важно. Это даже первое, что нужно сделать, когда вы знаете максимальную глубину рекурсии! Вы можете сделать это с помощью Sys библиотеки Python:
import sys sys.setrecursionlimit(1000)
12/печатный текст быстрее
Когда мы должны печатать текст в Python, мы используем метод print ()! Однако, когда вам нужно печатать тысячи строк, этот метод может быть медленным. В этом случае мы используем:
import sys sys.stdout.write(…) # only string
Вы можете использовать аналогичный метод для ввода, но он немного сложнее:)
Этот метод в 8 раз быстрее, чем обычная печать
13/Иметь средние элементы списка
Иметь элементы в середине списка – это немного хитрость, чтобы узнать при распаковке этого списка … Действительно, в зависимости от количества переменных (или подчеркивания, если вы не хотите сохранить переменную) в начале и в конце, у вас может быть переменная, содержащая список значений, содержащих только «средний», фактически , тот, который не был помещен в другие переменные!
l = [1,2,3,4,5,6,7] a, *b, c = l
>>> a = 1 >>> b = [2,3,4,5,6] >>> c = 7
14/отдельные большие числа по _
Для большей читаемости и, поскольку Python не допускает пробелов между цифрами числа, мы можем использовать _. Например, 1 000 000 000 может быть записано на Python:
1_000_000_000
15/обменные ключи/значения словаря
Обмен ключами и значения словаря – это метод, который может быть полезен, особенно в области ИИ:). Вот как это сделать:
my_dic = {"a": 1, "b": 2} my_dic = {v:k for k, v in my_dic.items()}
my_dic = {1: "a", 2: "b"}
Вывод
Это все на сегодня, надеюсь, вам понравилась статья и что вы смогли улучшить свои навыки кодирования! Не стесняйтесь поделиться статьей со своими друзьями и дать мне свои отзывы в комментариях!
Адриен
Оригинал: “https://dev.to/byteslash/15-python-tips-and-tricks-every-beginner-should-know-3bm5”