Here is a little utility to efficiently create a list of specified length, with each element some specified initial value.
I had been searching for some time for something like this and then developed little bit of code.
on makeList(listLength, theElement)
-- Note that the theElement can even be a List
if listLength = 0 then return {}
if listLength = 1 then return {theElement}
set theList to {theElement}
repeat while (count of theList) < listLength / 2
set theList to theList & theList
end repeat
return (theList & items 1 thru (listLength - (count of theList)) of theList)
end makeList