Hi , is there a way to duplicate and parent each of this?python?

High is duplicate from nc collection . I want to parent high to nc object,every single of it.Is there a way?

import bpy

def parent(o,o1):
    o1.parent = o
    o1.matrix_parent_inverse = o.matrix_world.inverted()

for i, obj in enumerate(bpy.data.collections['High'].objects):
    parent(bpy.data.collections['NC'].objects[i], obj)

hi thanks for the reply .but i accure some problem. it doesn copy the location.
it change the position.Actually i want to use for rigidbody

Nvm it work thank you so much.I forget to apply scale and location