How to randomly pick an object from a collection?
Use this code:

import bpy
from random import random

#select your collection by name (in this case the collection named "Collection")
col = bpy.data.collections["Collection"]

objNum = len(col.objects)

#Generate random number 
randomIndex = round(random()*(objNum-1))  
#use the random number to call a random object in the collection
obj = col.objects[randomIndex]

#creat a copy of the object and link it to the collection 
newObj = obj.copy()
col.objects.link(newObj)