import Blender matlist = [] for material in Blender.Material.Get(): if material.getName().find("Mat") <> -1: print "Mat :",material.getName() matlist.append(material) object = Blender.Object.Get() print object bound = len(object) for obj in range(bound): if object[obj].getName().find("Cyl") <> -1: index = int(Blender.Mathutils.Rand() * len(matlist)) print "Obj :",object[obj].getName() object[obj].setMaterials(matlist[index]) Blender.Redraw()