Advertisement
C3EQUALZ

Теория по модулям Python

Nov 13th, 2022 (edited)
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.26 KB | None | 0 0
  1. Нужная теория по различным модулям:
  2. 1) itertools
  3. >>> itertools.product('ABCD', 'ABCD') --> AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD # полное перемножение с дублями
  4. >>> itertools.permutations('ABCD',2) --> AB AC AD BA BC BD CA CB CD DA DB DC # полное перемножение без дублей
  5. >>> itertools.combinations_with_replacement('ABCD', 2) --> AA AB AC AD BB BC BD CC CD DD # без "зеркальных пар" с дублями
  6. >>> itertools.combinations('ABCD', 2) --> AB AC AD BC BD CD # без "зеркальных пар" без дублей
  7. >>> [k for k, g in itertools.groupby('AAAABBBCCDAABBB')] --> A B C D A B #можно выбирать уникальные значения, не используя set(), но желательно иметь заранее сортировку какую-то.
  8. >>> [list(g) for k, g in itertools.groupby('AAAABBBCCD')] --> AAAA BBB CC D #образно можно сохранять одинаковые элементы в кучу.
  9. 2) time
  10. >>> time.time() #старт начала замера времени и конец, но проблема есть, что привязан к сис. времени. Малые участки не считает.
  11. >>> time.monotonic() #аналог time(), но нет проблем с этим, правда с малым количеством времени программы есть проблемы.
  12. 3) functools
  13. @lru_cache
  14. 4) collections
  15. >>> collections.deque #создаем дек. Это очередь, в которой можно удалять и добавлять с обоих концов. Подробнее здесь есть: " https://tproger.ru/translations/stacks-and-queues-for-beginners/ "
  16. >>> collections.defaultdict(list) #удобно создавать словарь, где нужно, чтобы value было опр. структуры. Такие же методы, как и с обычным словарем.
  17. 5) numpy (вызов удобно писать: "import numpy as np")
  18. >>> np.array([1,2,3]) #формирует массив numpy. Без преобразования дальнейшие методы/функции не будут работать, если нам нужен именно данный массив.
  19. >>> np.arange(start = 0.02, end = 2, step = 0.1) --> [0.02, 0.120000001, 0.2200000001, 0.32, ..., 1.92] #Формирует массив, но удобно, что шаг тут с вещественный, то есть "аналог" range. Есть проблема, что надо каждый раз использовать round(i,"Любой аргумент числовой, то есть количество знаков после запятой для округления).
  20. >>> mas[:,k] #вывод столбца матрицы, где k - это индекс столбца. До этого матрица должна быть преобразована с помощью np.array(). Для строки можно сделать то же самое, значение внутри индекса поменять местами.
  21. 6) sys
  22. >>> setrecursionlimit() #установление глубины рекурсии. По стоку стоит 1000.
  23.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement