Heh, I forgot about join but that for is still a loop right? :)
Or else you could just:
for i in range(1,1000):
print i
Plus relying on the string representation of a list isn't silly it as it doesn't change. I just didn't know if range would meet the criteria or not.