How does Python's random.shuffle() alter the value of a list without returning anything and is this something any Python coder can do as well?
Why can a function modify some arguments as perceived by the caller, but not others?