все Python 3itertoolsфункция
itertools.starmap
itertools
Как map(), но аргументы берутся распаковкой кортежей: f(*args).
Синтаксис
itertools.starmap(function, iterable)
Бери starmap, когда аргументы уже сгруппированы в кортежи внутри одного итерируемого; обычный map(f, a, b) — когда итерируемые лежат отдельно. По сути starmap(f, seq) — это (f(*args) for args in seq).
Примеры
import itertools
print(list(itertools.starmap(pow, [(2, 3), (3, 2)]))) # → [8, 9]
print(list(itertools.starmap(max, [(1, 5), (9, 2), (4, 4)]))) # → [5, 9, 4]
print(list(itertools.starmap(lambda n, s: f'{n}: {s}', [('Ann', 90), ('Bob', 75)]))) # → ['Ann: 90', 'Bob: 75']
print(list(map(pow, [2, 3], [3, 2]))) # → [8, 9]
print(list(itertools.starmap(pow, [(2,)]))) # → TypeError
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности