Для печати в указанном вами формате:
print('\n'.join([a[i] + ',' + str(b[i]).strip('[').strip(']').replace(' ','') for i in range(len(a))]))
Выход:
abc,1,2,3
cde,2,3,4
efg,4,5,6
Элемент
100 * 100 - это очень небольшое число для программы на Python - любая оптимизация в таком масштабе, вероятно, не сможет быть настолько значимой, чтобы нас, людей заметили. Для проверки:
%%timeit
array = np.random.randn(100,100)
print('\n'.join([str(e) for e in array])) # prints like above
результат:
148 ms ± 13.2 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
Кроме того, имейте в виду, что основной горлышком бутылки должен быть print
, а не фактический процесс, выполняющий печать, поэтому использование zip
или другого трюка может не сработать, поскольку они не помогают захватить терминал / другой стандартный вывод достаточно быстро печатать.