'Python ValueError when putting one array into another

I'm trying to insert one array into another, but I think I'm having a dimensioning issue with the arrays, leading to a ValueError. The exponential segment I'm trying to insert lives in EXP and prints as I'd expect, but running len() on it returns 1. Why would an array that prints with more than one element return a len() of 1? Code snippet below:

SPR = 48000  # Hz
duration = 0.2  # second
t = numpy.linspace(0, duration, duration * SPR)    
p_list = [0, numpy.pi, 0]   

SIGNALS = [(16000 * numpy.sin((2 * numpy.pi * t * 20) + p)).astype('int16')
            for p in p_list]
EXP = [(16000 * (2**(-100*t))).astype('int16')]

e=EXP[0:4200]
print(e)
print(len(e))
SIGNALS[0][600:4800] = e

returns

[array([16000, 15976, 15953, ...,     0,     0,     0], dtype=int16)]
1
Traceback (most recent call last):
  File "/home/pi/Experiments/actronika-exp.py", line 87, in <module>
    SIGNALS[0][600:4800] = e
ValueError: setting an array element with a sequence.


Solution 1:[1]

[array([16000, 15976, 15953, ...,     0,     0,     0], dtype=int16)]

This (e) is a numpy array inside a python list. len(e) returns the list's length, which is 1, since it contains 1 element: the numpy array

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Itay Raveh