I'm not sure how they're going to stop the pythons from eating the Apples, but if I had to do his homework this is what I'd probably do.
import random
boxes = [[] for x in range(10)]
for apple in range(100):
random.choice(boxes).append(apple)
## don't do it like this
# [random.choice(boxes).append(apple) for apple in range(100)]
List comprehensions are wonderful, but in his example it's not being used to generate an actual list (each .append() will return None), just as a strange alternate format for a for loop.
It would be really strange to do
[random.choice(boxes).append(apple) for apple in range(100)]
when even if you wanted to do it on one line the normal syntax works and would be less likely to confuse:
for apple in range(100): random.choice(boxes).append(apple)
If you're responding to a poorly-disguised lazy homework solution request, then the really strange version is the one you should give. Any student who tries to turn it in will arouse the suspicion of the grader, and they'll deserve it.