Yes, keys can be anything and you can put anything in a list.
DaysOfWeek = {"Mon","Tue","Wed","Thu","Fri","Sat","Sun"}
This is a list with no keys specified so Lua simply allocates keys starting at 1 so DaysOfWeek[1] = Mon.
This looks like an array but it isn't, it is the same as:
DaysOfWeek = {[1] = "Mon", [2] = "Tue" etc}
Note that the keys can be anything, e.g. DaysOfWeek['Sunday'] = "Sun" is quite valid and mucks up the 'array' because it isn't added as DaysOfWeek[8] like you may imagine, in fact there is no [8] key in the list.
The proper way to iterate lists is to use the functions 'pairs' and 'ipairs', pairs(list) iterates in the order the list is created whereas ipairs(list) iterates in order of the keys. Both return the key and value, if you don't care about one or the other put '_' instead, for example:
local days_string = ""
for _, Day in ipairs(DaysOfWeek) do
days_string = days_string .. Day
end
Would result in days_string containing "MonTueWedThuFriSatSun"
Been there, done that, got all the T-Shirts!