20 фрагментов Python, которые стоит выучить прямо сегодня |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-11-15 20:00 Python — язык программирования без лишнего синтаксиса. Читаемость и простота дизайна — две основные причины его огромной популярности. Как говорится в дзене Python: Красивое лучше, чем уродливое. Вот почему стоит помнить некоторые распространенные приемы Python, которые помогают улучшить дизайн кода. Они избавят вас от необходимости просматривать Stack Overflow каждый раз, когда вам что-то нужно. Эти приемы пригодятся в вашей ежедневной практике. 1. Переворачивание строки Фрагмент ниже переворачивает строку, используя операцию среза. # Переворачивает строку, используя срез my_string = "ABCDE" reversed_string = my_string[::-1] print(reversed_string) # Вывод # EDCBA 2. Заглавные буквы Следующий фрагмент используется для преобразования строки в регистр с заглавными буквами с применением метода my_string = "my name is chaitanya baweja" # использование функции title() new_string = my_string.title() print(new_string) # вывод # My Name Is Chaitanya Baweja 3. Поиск уникальных элементов в строке Этот фрагмент можно использовать для поиска уникальных элементов в строке с помощью свойства, что все элементы в наборе уникальны. my_string = "aavvccccddddeee" # преобразование строки в набор temp_set = set(my_string) # сшивание набора в строку с помощью join new_string = ''.join(temp_set) print(new_string) 4. Вывод строки или списка n раз Можно использовать умножение (*) со строками или списками; умножать их можно любое количество раз. n = 3 # число повторений my_string = "abcd" my_list = [1,2,3] print(my_string*n) # abcdabcdabcd print(my_list*n) # [1,2,3,1,2,3,1,2,3] Интересным вариантом может быть определение списка с постоянным значением, скажем, ноль. n = 4 my_list = [0]*n # n обозначает длину списка # [0, 0, 0, 0] 5. Генератор списков Генератор списков предоставляет элегантный способ создания списков на базе других списков. Следующий фрагмент создает новый список, умножая каждый элемент предыдущего списка на два. # Умножение каждого элемента списка на 2 original_list = [1,2,3,4] new_list = [2*x for x in original_list] print(new_list) # [2,4,6,8] 6. Обмен значениями между двумя переменными Python упрощает обмен значениями между двумя переменными без использования другой переменной. a = 1 b = 2 a, b = b, a print(a) # 2 print(b) # 1 7. Разбиение строки на список подстрок Мы можем разбить строку на список подстрок, используя метод string_1 = "My name is Chaitanya Baweja" string_2 = "sample/ string 2" # разделитель по умолчанию ' ' print(string_1.split()) # ['My', 'name', 'is', 'Chaitanya', 'Baweja'] # заданный разделитель '/' print(string_2.split('/')) # ['sample', ' string 2'] 8. Объединение списка строк в одну строку Метод list_of_strings = ['My', 'name', 'is', 'Chaitanya', 'Baweja'] # Использование join с разделителем "," print(','.join(list_of_strings)) # Вывод # My,name,is,Chaitanya,Baweja 9. Проверка строки на палиндром Мы уже рассмотрели, как перевернуть строку. Таким образом палиндромы становятся простейшей программой в Python. my_string = "abcba" if my_string == my_string[::-1]: print("palindrome") else: print("not palindrome") # Вывод # palindrome 10. Подсчет частотности элементов в списке Мой любимый способ посчитать частотность элемента в списке — это использование класса Счетчик Python отслеживает частотность каждого элемента в контейнере. Мы также используем функцию # находим частотность каждого элемента в списке from collections import Counter my_list = ['a','a','b','b','b','c','d','d','d','d','d'] count = Counter(my_list) # определяем объект для расчета print(count) # всех элементов # Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1}) print(count['b']) # конкретного элемента # 3 print(count.most_common(1)) # элемента с наибольшей частотностью # [('d', 5)] 11. Анаграммы Интересное применение класса Если объекты from collections import Counter str_1, str_2, str_3 = "acbde", "abced", "abcda" cnt_1, cnt_2, cnt_3 = Counter(str_1), Counter(str_2), Counter(str_3) if cnt_1 == cnt_2: print('1 and 2 anagram') if cnt_1 == cnt_3: print('1 and 3 anagram') 12. Блок try-except-else Обработку ошибок в Python легко выполнить, используя блок Если вам нужно запустить что-то независимо от исключений, используйте a, b = 1,0 try: print(a/b) # исключение появляется, когда b равно 0 except ZeroDivisionError: print("division by zero") else: print("no exceptions raised") finally: print("Run this always") 13. Функция enumerate для получения пар индекс-значение Следующий скрипт использует функцию enumerate для перебора значений в списке вместе с их индексами. my_list = ['a', 'b', 'c', 'd', 'e'] for index, value in enumerate(my_list): print('{0}: {1}'.format(index, value)) # 0: a # 1: b # 2: c # 3: d # 4: e 14. Проверка использования памяти объектом Следующий скрипт используется для проверки использования памяти объектом. import sys num = 21 print(sys.getsizeof(num)) # В Python 2, 24 # В Python 3, 28 15. Объединение двух словарей В Python 2 для соединения двух словарей мы использовали метод В скрипте ниже объединены два словаря. В случае пересечения используются значения из второго словаря. dict_1 = {'apple': 9, 'banana': 6} dict_2 = {'banana': 4, 'orange': 8} combined_dict = {**dict_1, **dict_2} print(combined_dict) # Вывод # {'apple': 9, 'banana': 4, 'orange': 8} 16. Время, затраченное на выполнение части кода Следующий фрагмент использует библиотеку import time start_time = time.time() # начало проверяемого кода a, b = 1,2 c = a+ b # конец проверяемого кода end_time = time.time() time_taken_in_micro = (end_time- start_time)*(10**6) print(" Time taken in micro_seconds: {0} ms").format(time_taken_in_micro) 17. Сглаживание списка списков Иногда вы не уверены в глубине вложенности списка, вам просто нужно отобразить все элементы в одном списке. Вот как можно это сделать: from iteration_utilities import deepflatten # если у вас есть только один nested_list, используйте этот фрагмент def flatten(l): return [item for sublist in l for item in sublist] l = [[1,2,3],[3]] print(flatten(l)) # [1, 2, 3, 3] # если вы не знаете глубину вложения списка l = [[1,2,3],[4,[5],[6,7]],[8,[9,[10]]]] print(list(deepflatten(l, depth=3))) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 18. Выборка из списка Следующий фрагмент генерирует import random my_list = ['a', 'b', 'c', 'd', 'e'] num_samples = 2 samples = random.sample(my_list,num_samples) print(samples) # [ 'a', 'e'] здесь будет 2 случайных значения Мне порекомендовали библиотеку secrets для генерации случайных выборок для криптографии. Следующий фрагмент работает только на Python 3. import secrets # импортирует защищенный модуль secure_random = secrets.SystemRandom() # создает защищенный # случайный объект my_list = ['a','b','c','d','e'] num_samples = 2 samples = secure_random.sample(my_list, num_samples) print(samples) # [ 'e', 'd'] здесь будут 2 случайных значения 19. Список цифр Следующий фрагмент преобразует целое число в список цифр. num = 123456 # использование map list_of_digits = list(map(int, str(num))) print(list_of_digits) # [1, 2, 3, 4, 5, 6] # использование list comprehension list_of_digits = [int(x) for x in str(num)] print(list_of_digits) # [1, 2, 3, 4, 5, 6] 20. Проверка уникальности Следующая функция проверит все элементы в списке на уникальность. def unique(l): if len(l)==len(set(l)): print("All elements are unique") else: print("List has duplicates") unique([1,2,3,4]) # Все элементы уникальны unique([1,1,2,3]) # Список содержит дубликаты Читайте также:
Перевод статьи Chaitanya Baweja: 20 Python Snippets You Should Learn Today Источник: m.vk.com Комментарии: |
|