FEMM 5

Модули и функции · встроенный MicroPython FEMM 5

itertools

Построение и обработка серий параметров через итераторы.

Условия работы

itertools.countГенерирует арифметическую последовательность.

itertools.count

count(start=0, step=1)

Генерирует арифметическую последовательность.

Аргументы

Аргументы вызова itertools.count
ИмяНазначение и допустимые значения
startНачальное число.
stepПриращение.

Возвращаемое значение

Бесконечный итератор чисел.

Пример

MicroPython FEMM 5
"Пример itertools.count.\nСреда: встроенный MicroPython FEMM 5.\nГенерирует арифметическую последовательность.\nРезультат: Бесконечный итератор чисел."

import itertools
assert list(itertools.islice(itertools.count(10,5),3)) == [10,15,20]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.cycleПовторяет сохранённую последовательность.

itertools.cycle

cycle(p)

Повторяет сохранённую последовательность.

Аргументы

Аргументы вызова itertools.cycle
ИмяНазначение и допустимые значения
pКонечный исходный итерируемый объект; элементы запоминаются.

Возвращаемое значение

Циклический итератор.

Пример

MicroPython FEMM 5
"Пример itertools.cycle.\nСреда: встроенный MicroPython FEMM 5.\nПовторяет сохранённую последовательность.\nРезультат: Циклический итератор."

import itertools
assert list(itertools.islice(itertools.cycle([0,90]),5)) == [0,90,0,90,0]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.repeatПовторяет постоянный параметр.

itertools.repeat

repeat(el, n=None)

Повторяет постоянный параметр.

Аргументы

Аргументы вызова itertools.repeat
ИмяНазначение и допустимые значения
elПовторяемый объект.
nЧисло повторов; None означает бесконечно.

Возвращаемое значение

Итератор повторных ссылок на el.

Пример

MicroPython FEMM 5
"Пример itertools.repeat.\nСреда: встроенный MicroPython FEMM 5.\nПовторяет постоянный параметр.\nРезультат: Итератор повторных ссылок на el."

import itertools
assert list(itertools.repeat(50,3)) == [50,50,50]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.chainСоединяет серии без промежуточного общего списка.

itertools.chain

chain(*p)

Соединяет серии без промежуточного общего списка.

Аргументы

Аргументы вызова itertools.chain
ИмяНазначение и допустимые значения
pПоследовательности для последовательного объединения.

Возвращаемое значение

Итератор элементов всех входов.

Пример

MicroPython FEMM 5
"Пример itertools.chain.\nСреда: встроенный MicroPython FEMM 5.\nСоединяет серии без промежуточного общего списка.\nРезультат: Итератор элементов всех входов."

import itertools
assert list(itertools.chain([1,2],[3])) == [1,2,3]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.isliceОграничивает поток; пропущенные элементы также потребляются.

itertools.islice

islice(p, start, stop=(), step=1)

Ограничивает поток; пропущенные элементы также потребляются.

Аргументы

Аргументы вызова itertools.islice
ИмяНазначение и допустимые значения
pИсходный итератор.
startНачало либо stop при двухаргументном вызове.
stopИсключающая граница; служебное () обозначает короткую форму.
stepПоложительный шаг.

Возвращаемое значение

Итератор выбранных элементов.

Пример

MicroPython FEMM 5
"Пример itertools.islice.\nСреда: встроенный MicroPython FEMM 5.\nОграничивает поток; пропущенные элементы также потребляются.\nРезультат: Итератор выбранных элементов."

import itertools
assert list(itertools.islice(range(10),2,8,2)) == [2,4,6]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.teeВ этой поставке не создаёт независимые ветви: чтение одной ветви расходует элементы для остальных. Для повторного независимого обхода сохраните list(iterable).

itertools.tee

tee(iterable, n=2)

В этой поставке не создаёт независимые ветви: чтение одной ветви расходует элементы для остальных. Для повторного независимого обхода сохраните list(iterable).

Аргументы

Аргументы вызова itertools.tee
ИмяНазначение и допустимые значения
iterableИсходный поток.
nЧисло независимых итераторов.

Возвращаемое значение

Список n ссылок на ОДИН общий итератор.

Пример

MicroPython FEMM 5
"Пример itertools.tee.\nСреда: встроенный MicroPython FEMM 5.\nВ этой поставке не создаёт независимые ветви: чтение одной ветви расходует элементы для остальных. Для повторного независимого обхода сохраните list(iterable).\nРезультат: Список n ссылок на ОДИН общий итератор."

import itertools
a,b=itertools.tee([1,2])
assert a is b
assert list(a) == [1,2] and list(b) == []

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Нативная проверка описанного ограничения выполнена; ожидаемая ошибка или особенность подтверждена.

itertools.starmapВычисляет выражение для каждой пары/строки параметров.

itertools.starmap

starmap(function, iterable)

Вычисляет выражение для каждой пары/строки параметров.

Аргументы

Аргументы вызова itertools.starmap
ИмяНазначение и допустимые значения
functionФункция для аргументов каждой записи.
iterableПоток кортежей аргументов.

Возвращаемое значение

Итератор результатов вызовов function(*row).

Пример

MicroPython FEMM 5
"Пример itertools.starmap.\nСреда: встроенный MicroPython FEMM 5.\nВычисляет выражение для каждой пары/строки параметров.\nРезультат: Итератор результатов вызовов function(*row)."

import itertools
assert list(itertools.starmap(lambda a,b:a*b,[(2,3),(4,5)])) == [6,20]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.accumulateСтроит накопленную сумму или другое последовательное свёртывание.

itertools.accumulate

accumulate(iterable, func=lambda x,y:x+y)

Строит накопленную сумму или другое последовательное свёртывание.

Аргументы

Аргументы вызова itertools.accumulate
ИмяНазначение и допустимые значения
iterableПоток значений.
funcФункция накопления двух аргументов.

Возвращаемое значение

Итератор промежуточных накопленных значений.

Пример

MicroPython FEMM 5
"Пример itertools.accumulate.\nСреда: встроенный MicroPython FEMM 5.\nСтроит накопленную сумму или другое последовательное свёртывание.\nРезультат: Итератор промежуточных накопленных значений."

import itertools
assert list(itertools.accumulate([1,2,3])) == [1,3,6]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.groupbyРазделяет отсортированные результаты по параметру.

itertools.groupby

groupby(iterable, key=None)

Разделяет отсортированные результаты по параметру.

Аргументы

Аргументы вызова itertools.groupby
ИмяНазначение и допустимые значения
iterableПоток с соседними записями одной группы.
keyФункция ключа либо None для самого значения.

Возвращаемое значение

Итератор пар (ключ, итератор группы).

Пример

MicroPython FEMM 5
"Пример itertools.groupby.\nСреда: встроенный MicroPython FEMM 5.\nРазделяет отсортированные результаты по параметру.\nРезультат: Итератор пар (ключ, итератор группы)."

import itertools
rows=[(10,1),(10,2),(20,3)]
groups=[(k,list(g)) for k,g in itertools.groupby(rows,lambda r:r[0])]
assert len(groups) == 2 and len(groups[0][1]) == 2

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.productФормирует комбинации тока и угла для серии FEMM.

itertools.product

product(*iterables, repeat=1)

Формирует комбинации тока и угла для серии FEMM.

Аргументы

Аргументы вызова itertools.product
ИмяНазначение и допустимые значения
iterablesКонечные наборы каждого независимого параметра.
repeatСколько раз повторить весь набор входов.

Возвращаемое значение

Итератор кортежей декартова произведения.

Пример

MicroPython FEMM 5
"Пример itertools.product.\nСреда: встроенный MicroPython FEMM 5.\nФормирует комбинации тока и угла для серии FEMM.\nРезультат: Итератор кортежей декартова произведения."

import itertools
assert list(itertools.product([1,2],[0,90])) == [(1,0),(1,90),(2,0),(2,90)]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.permutationsПеребирает упорядоченные варианты без повторного использования позиции.

itertools.permutations

permutations(iterable, r=None)

Перебирает упорядоченные варианты без повторного использования позиции.

Аргументы

Аргументы вызова itertools.permutations
ИмяНазначение и допустимые значения
iterableКонечный набор элементов.
rДлина перестановки, None использует весь набор.

Возвращаемое значение

Итератор кортежей перестановок.

Пример

MicroPython FEMM 5
"Пример itertools.permutations.\nСреда: встроенный MicroPython FEMM 5.\nПеребирает упорядоченные варианты без повторного использования позиции.\nРезультат: Итератор кортежей перестановок."

import itertools
assert list(itertools.permutations([1,2],2)) == [(1,2),(2,1)]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.combinationsВыбирает неупорядоченные поднаборы по позиции.

itertools.combinations

combinations(iterable, r)

Выбирает неупорядоченные поднаборы по позиции.

Аргументы

Аргументы вызова itertools.combinations
ИмяНазначение и допустимые значения
iterableИсходный набор.
rКоличество элементов комбинации.

Возвращаемое значение

Итератор кортежей сочетаний.

Пример

MicroPython FEMM 5
"Пример itertools.combinations.\nСреда: встроенный MicroPython FEMM 5.\nВыбирает неупорядоченные поднаборы по позиции.\nРезультат: Итератор кортежей сочетаний."

import itertools
assert list(itertools.combinations([1,2,3],2)) == [(1,2),(1,3),(2,3)]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.compressОтбирает расчёты по маске годности.

itertools.compress

compress(data, selectors)

Отбирает расчёты по маске годности.

Аргументы

Аргументы вызова itertools.compress
ИмяНазначение и допустимые значения
dataИсходные значения.
selectorsСоответствующие логические флаги.

Возвращаемое значение

Итератор выбранных значений.

Пример

MicroPython FEMM 5
"Пример itertools.compress.\nСреда: встроенный MicroPython FEMM 5.\nОтбирает расчёты по маске годности.\nРезультат: Итератор выбранных значений."

import itertools
assert list(itertools.compress([10,20,30],[True,False,True])) == [10,30]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.filterfalseОтбирает записи, не удовлетворяющие условию.

itertools.filterfalse

filterfalse(predicate, iterable)

Отбирает записи, не удовлетворяющие условию.

Аргументы

Аргументы вызова itertools.filterfalse
ИмяНазначение и допустимые значения
predicateФункция условия либо None для bool.
iterableИсходный поток.

Возвращаемое значение

Итератор элементов с ложным результатом условия.

Пример

MicroPython FEMM 5
"Пример itertools.filterfalse.\nСреда: встроенный MicroPython FEMM 5.\nОтбирает записи, не удовлетворяющие условию.\nРезультат: Итератор элементов с ложным результатом условия."

import itertools
assert list(itertools.filterfalse(lambda x:x>2,[1,2,3])) == [1,2]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.takewhileОстанавливается на первом ложном условии; этот элемент уже потреблён.

itertools.takewhile

takewhile(predicate, iterable)

Останавливается на первом ложном условии; этот элемент уже потреблён.

Аргументы

Аргументы вызова itertools.takewhile
ИмяНазначение и допустимые значения
predicateУсловие продолжения.
iterableИсходный поток.

Возвращаемое значение

Итератор начальных подходящих элементов.

Пример

MicroPython FEMM 5
"Пример itertools.takewhile.\nСреда: встроенный MicroPython FEMM 5.\nОстанавливается на первом ложном условии; этот элемент уже потреблён.\nРезультат: Итератор начальных подходящих элементов."

import itertools
assert list(itertools.takewhile(lambda x:x<3,[1,2,3,1])) == [1,2]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.dropwhileПропускает начальные подходящие значения, затем отдаёт всё.

itertools.dropwhile

dropwhile(predicate, iterable)

Пропускает начальные подходящие значения, затем отдаёт всё.

Аргументы

Аргументы вызова itertools.dropwhile
ИмяНазначение и допустимые значения
predicateУсловие пропуска начального участка.
iterableИсходный поток.

Возвращаемое значение

Итератор оставшейся части.

Пример

MicroPython FEMM 5
"Пример itertools.dropwhile.\nСреда: встроенный MicroPython FEMM 5.\nПропускает начальные подходящие значения, затем отдаёт всё.\nРезультат: Итератор оставшейся части."

import itertools
assert list(itertools.dropwhile(lambda x:x<3,[1,2,3,1])) == [3,1]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

itertools.zip_longestСопоставляет таблицы разной длины.

itertools.zip_longest

zip_longest(*iterables, fillvalue=None)

Сопоставляет таблицы разной длины.

Аргументы

Аргументы вызова itertools.zip_longest
ИмяНазначение и допустимые значения
iterablesОбъединяемые потоки.
fillvalueЗначение отсутствующего элемента в коротких потоках.

Возвращаемое значение

Итератор кортежей длиной до самого длинного входа.

Пример

MicroPython FEMM 5
"Пример itertools.zip_longest.\nСреда: встроенный MicroPython FEMM 5.\nСопоставляет таблицы разной длины.\nРезультат: Итератор кортежей длиной до самого длинного входа."

import itertools
assert list(itertools.zip_longest([1,2],[10],fillvalue=0)) == [(1,10),(2,0)]

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

Имена в установленной сборке

Перечень получен во встроенном интерпретаторе. Он включает функции, классы и константы. Ссылки ведут к контрактам; для прямого доступа ulab учитывайте условия этого раздела.