Yeah I think the "wrong feeling" is just that this could, in theory, be O(1) with something like:
pics[Math.random() * len(pics)]
... assuming that random() gives you a number from 0..1 - but that's why it feels "wrong".