Как в Python обработанные значения кортежа снова сложить по тем же кортежам?

Имеется словарь:

{'spk1': [array([ 5.7989768e-05, -3.0932188e-05, -6.9003938e-05, ...,
          7.1993265e-05,  4.7599726e-05,  4.8396392e-05], dtype=float32),
  array([ 7.5168966e-04, -4.5251290e-05,  3.4856668e-04, ...,
         -2.5292889e-03, -2.9699195e-03, -2.6236360e-03], dtype=float32),
  array([-0.00094804, -0.00024563, -0.00010466, ...,  0.01256133,
          0.01113857,  0.00603152], dtype=float32),
  array([ 0.0007968 ,  0.00047213, -0.00070908, ..., -0.00846404,
         -0.00792614, -0.00820034], dtype=float32)],...}

Сначала достаю из словаря значения, причем так: для каждого ключа перебрать его значения во всех возможных вариантах. Т.е. имеется, например, ключ spk1 и его 4 значения: получаю все возможные их сочетания и складываю в кортежи:

tuples:  [(array([ 5.7989768e-05, -3.0932188e-05, -6.9003938e-05, ...,
        7.1993265e-05,  4.7599726e-05,  4.8396392e-05], dtype=float32), array([ 7.5168966e-04, -4.5251290e-05,  3.4856668e-04, ...,
       -2.5292889e-03, -2.9699195e-03, -2.6236360e-03], dtype=float32)), (array([ 5.7989768e-05, -3.0932188e-05, -6.9003938e-05, ...,
        7.1993265e-05,  4.7599726e-05,  4.8396392e-05], dtype=float32), array([-0.00094804, -0.00024563, -0.00010466, ...,  0.01256133,
        0.01113857,  0.00603152], dtype=float32)),...]

Любой один элемент кортежа - это массив чисел np.array(). В кортеже, таким образом, по 2 таких массива.

Затем мне необходимо обработать функцией embed_utterance() каждый из элементов всякого кортежа и снова образовать из них тот же кортеж (но после обработки). Однако если создаю переменную, где вложен кортеж с обработанными элементами, получаю ошибку:

TypeError: tuple expected at most 1 arguments, got 2

Переменную создаю так:

embeds = tuple(np.array( [encoder.embed_utterance(single[0]) ] ), np.array([encoder.embed_utterance(single[1]) ] ) )

Как понимаю, она возникает по причине того, что в цикле обрабатывается за раз только одно значение single. Я же пытаюсь одной итерацией скрестить сразу 2 значения. Это моё предположение. Как тогда поступить? Код:

from itertools import combinations
import numpy as np

for elems in speaker_wavs.values():
  tuples = list(combinations(elems, 2)) # получаем списки кортежей
  print('tuples: ', tuples)

  for single in tuples:         # идем по каждому кортежу в списке
      embeds = tuple(np.array( [encoder.embed_utterance(single[0]) ] ), np.array([encoder.embed_utterance(single[1]) ] ) )
      print(embeds)

Ответы (0 шт):