Some things to consider:
1. Do you want only unique strings? Making your list unique may reduce your process speed substantially. Even if it only changes by 10%, if the total process time is hours this can be advantageous.
2. How will you handle the last few list items if the original list length is not a multiple of 10,000? If, on your last iteration, you have only 5 items in the list and you try to pull 10,000 you could hit a problem.
3. For big, repetitive, jobs you will find it advantageous to find simple ways of optimizing your code. List comprehensions trump "for" loops. I like to convert my data to a numpy array when I can (and when it makes sense) because operations can be done very quickly and logically with the available indexing.
4. Eventually, it may make sense to implement parallel processing
I have taken code that I put together hastily, and had a process time of 7-8 hours, and reduced the process time to 20 minutes by optimizing it and implementing parallel processing. Optimization can be highly important for the big, repetitive tasks.
Keep in mind that if you have to spend three hours optimizing your code that will be run once, and you reduce your process time from 1hr to 10 minutes, you have still failed (though you probably learned a lot). Depends on how much your time is worth.