I was just thinking the same, that you really shouldn't need to delete, but only pick what few you need. But is there are reason why you want to use a list and not an array for this one?
Here is an example of using an array, which is really fast and easy:
Const wordlistsize:Int = 20
Global wordlist:String[wordlistsize]
For Local i:Int = 0 To wordlistsize-1
wordlist[i] = "Argh:"+i
Next
SeedRnd(MilliSecs()) ' randomize the randomizer :)
Print "~nBefore shuffle ..."
For Local ii:Int = 0 To wordlist.length-1
Print wordlist[ii]
Next
Local time:Int = MilliSecs()
ShuffleStringArray(wordlist)
Print "~ntime to shuffle: "+(MilliSecs()-time)+"ms"
Print "~nAfter shuffle ... picking the first five elements>"
For Local iii:Int = 0 To 4
Print wordlist[iii]
Next
' lets remove 5 elements from the front
ShortenStringArray(wordlist,5,1)
Print "~nAfter removing elements just picked..."
For Local iiii:Int = 0 To wordlist.length-1
Print wordlist[iiii]
Next
' ShuffleStringArray() function to shuffle an arrays elements
' Parameters:
' array = the array to be shuffled
' times = the number of times to shuffle the array (3=default)
Function ShuffleStringArray(array:String[] Var, times:Int = 3)
Local tmp:String
Local size:Int = Len(array)
For Local i:Int = 0 To size-1
Local r:Int = Rnd(size)
tmp = array[i]
array[i] = array[r]
array[r] = tmp
Next
End Function
' ShortenStringArray() function to shorten an array by any number of elements
' Parameters:
' array = the array to be shortened
' amount = the number of strings to remove
' first = determines if it removes from the front or the back of the array, 0=back(default),1=front
Function ShortenStringArray(array:String[] Var,amount:Int,first:Int=0)
If first Then
array = array[amount..] ' remove from the front of the array
Else
array = array[..array.length-amount] ' remove from the back of the array
End If
End Function
I haven't tried the same using lists, as my first thought was using an array for something like that.