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