I don't think, you got the point. In C4D every randomness is stable. Nobody wants a render to change, just by rendering it twice. If you render frame 42 of an animation. Restart C4D and render frame 42 again, you'd expect an identical result. So, no, it's not a matter of "how random do you want this to be". In your example the result will change, just by hitting render twice. It will even change, just by changing the selection in the OM...
In regards to performance:
a) I did not compare Xpresso to Python. I only mentioned the inefficient use of a list in Python.
b) It's not the construction of the list, that's inefficient, but the lookup.
c) I mentioned, it won't matter much in this case. But I thought, this would all be about learning. And adding just enough small inefficiencies in one scene/script/program can make a big difference in the end.