Вот вариация на тему 'заменить я с у' решения:
In [182]: lr=['3.123+2.43i','0.23454-1.2134i','0.6543+0.76543i','1.12324+0.6543i']
Можно сделать массив строк:
In [183]: np.array(lr)
Out[183]:
array(['3.123+2.43i', '0.23454-1.2134i', '0.6543+0.76543i',
'1.12324+0.6543i'],
dtype='<U15')
, но не сложно - по крайней мере, не напрямую
In [184]: np.array(lr,np.complex)
...
TypeError: a float is required
, но есть функция, которая выполняет замену строки на элементах массива:
In [185]: a=np.array(lr)
In [186]: np.char.replace(a,'i','j')
Out[186]:
array(['3.123+2.43j', '0.23454-1.2134j', '0.6543+0.76543j',
'1.12324+0.6543j'],
dtype='<U15')
Теперь, когда массив строк может быть брошен как сложная
In [187]: np.char.replace(a,'i','j').astype(np.complex)
Out[187]:
array([ 3.12300+2.43j , 0.23454-1.2134j , 0.65430+0.76543j,
1.12324+0.6543j ])