def fromarrays(arrayList, dtype=None, shape=None, formats=None,<EOL>names=None, titles=None, aligned=False, byteorder=None):
arrayList = [sb.asarray(x) for x in arrayList]<EOL>if shape is None or shape == <NUM_LIT:0>:<EOL><INDENT>shape = arrayList[<NUM_LIT:0>].shape<EOL><DEDENT>if isinstance(shape, int):<EOL><INDENT>shape = (shape,)<EOL><DEDENT>if formats is None and dtype is None:<EOL><INDENT>formats = []<EOL>for obj in arrayList:<EOL><INDENT>if not isinstance(obj, ndarray):<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>formats.append(obj.dtype.str)<EOL><DEDENT>formats = '<STR_LIT:U+002C>'.join(formats)<EOL><DEDENT>if dtype is not None:<EOL><INDENT>descr = sb.dtype(dtype)<EOL>_names = descr.names<EOL><DEDENT>else:<EOL><INDENT>parsed = format_parser(formats, names, titles, aligned, byteorder)<EOL>_names = parsed._names<EOL>descr = parsed._descr<EOL><DEDENT>if len(descr) != len(arrayList):<EOL><INDENT>raise ValueError("<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>d0 = descr[<NUM_LIT:0>].shape<EOL>nn = len(d0)<EOL>if nn > <NUM_LIT:0>:<EOL><INDENT>shape = shape[:-nn]<EOL><DEDENT>for k, obj in enumerate(arrayList):<EOL><INDENT>nn = len(descr[k].shape)<EOL>testshape = obj.shape[:len(obj.shape) - nn]<EOL>if testshape != shape:<EOL><INDENT>raise ValueError("<STR_LIT>" % k)<EOL><DEDENT><DEDENT>_array = recarray(shape, descr)<EOL>for i in range(len(arrayList)):<EOL><INDENT>_array[_names[i]] = arrayList[i]<EOL><DEDENT>return _array<EOL>
create a record array from a (flat) list of arrays

    >>> x1=np.array([1,2,3,4])
    >>> x2=np.array(['a','dd','xyz','12'])
    >>> x3=np.array([1.1,2,3,4])
    >>> r = np.core.records.fromarrays([x1,x2,x3],names='a,b,c')
    >>> print r[1]
    (2, 'dd', 2.0)
    >>> x1[1]=34
    >>> r.a
    array([1, 2, 3, 4])