почему itertools.zip_longest (* indexes_batch) возвращает результат транспонирования для itertools.zip_longest (indexes_batch) - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть такой тензор

indexes_batch  
[[28, 633, 1076, 332, 270, 123, 28, 6, 2],
 [47, 171, 120, 12, 261, 58, 1103, 6, 2],
 [1473, 3646, 7, 260, 4, 4, 4, 2],
 [531, 42, 55, 127, 654, 4, 2],
 [639, 6, 2]] 

, когда я использую list(itertools.zip_longest(*indexes_batch, fillvalue=0)), я получаю
[(28, 47, 1473, 531, 639), (633, 171, 3646, 42, 6), (1076, 120, 7, 55, 2), (332, 12, 260, 127, 0), (270, 261, 4, 654, 0), (123, 58, 4, 4, 0), (28, 1103, 4, 2, 0), (6, 6, 2, 0, 0), (2, 2, 0, 0, 0)]

и использую list(itertools.zip_longest(indexes_batch, fillvalue=0)), я получаю

[([28, 633, 1076, 332, 270, 123, 28, 6, 2],),
 ([47, 171, 120, 12, 261, 58, 1103, 6, 2],),
 ([1473, 3646, 7, 260, 4, 4, 4, 2],),
 ([531, 42, 55, 127, 654, 4, 2],),
 ([639, 6, 2],)]   

Итак, что я запутался в том, что является функцией * и почему * может привести к транспонированной матрице

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...