¿Cómo crear una matriz numpy de cadenas de longitud arbitraria?

Soy un novato completo de Python, pero parece que una cadena dada puede ser (efectivamente) de longitud arbitraria. es decir, puedes tomar unstring str y continuando añadiéndole:str += "some stuff...". ¿Hay una manera de hacer una serie de tales cadenas?

Cuando intento esto, cada elemento solo almacena un único carácter.

strArr = numpy.empty(10, dtype='string')
for i in range(0,10)
    strArr[i] = "test"

Por otro lado, sé que puedo inicializar una matriz de ciertas cadenas de longitud, es decir,

strArr = numpy.empty(10, dtype='s256')

que puede almacenar 10 cadenas de hasta 256 caracteres.

Respuestas a la pregunta(2)

Su respuesta a la pregunta