Q : "как использовать parallel_map
для n
-го позиционного аргумента (без написания функции-оболочки для каждого n
) ? "
Избегайте создания проблем там, где их нет, и размещайте все, что у вас есть n
-ое внешнее заполнение, повторяемое в вашем def
вызов функции-подписи прямо в parallel_map()
-ожидаемую (как документально подтвержденную) и совместимую с итерационной обработкой tuple
:
# ( )-------------------------- parallel_map() expected TUPLE
#your Fun( ( a vv--)-------------------)----------------your FED-IN ITERABLE
testFunc1( ( 'a', 'b1' ), 'of-no-interest' ) --> (('a', 'b1'), 'of-no-interest')
testFunc1( ( 'a', 'b2' ), 'of-no-interest' ) --> (('a', 'b2'), 'of-no-interest')
testFunc1( ( 'a', 'b3' ), 'of-no-interest' ) --> (('a', 'b2'), 'of-no-interest')
"Вы имеете в виду что-то вроде parallel_map(testFunc1, [(4, 1), (4, 2), (4, 3)], task_args=('of-no-interest',))
? Здесь b
всегда имеет значение 'of-no-interest'
. - AP 2 часа a go"
Нет,
Примером является четкий путь к разгрузке a
и всем без исключения n -ому пользовательский код FED-IN повторяемый ( с) , как и требовалось выше.
def testFun2( a, b ):
return [ item for item in tuple( a ) ], b
показать способ вызова:
testFun2( ( 'a', 'b', "c", None, 42, -3.14159, "The-N-th-ITERABLE" ),
'not-important-one-(of-no-interest-HERE-in-solving-N-th-iterable-for-parallel_star()-calls)...'
)
доставляет ->
(['a', 'b', 'c', None, 42, -3.14159, "The-N-th-ITERABLE"], 'not-important-one-(of-no-interest-HERE-in-solving-N-th-iterable-for-parallel_star()-calls)...')
Точно соответствует обоим a) ваш w sh иметь свободные руки для любой N-й итерируемой, а не только первой позиционной и также b) той самой сигнатуры вызова parallel_map()
ожидает и была задокументирована для этого:
parallel_map( testFun2, # TASK Callable
( <_USER-SIDE_GENERATOR_FEED-IN_TUPLEsOfPARs_> ),# TASK VALUE(s)Array / List
any_other_wished2have_call-signature_parameters, # TASK_ARGS Dict
..., # TASK_KWARGS Dict
... # call KWARGS Dict
)