Python SetParameter for a Wall Type

I have gone around in circles today with using python for parameter setting. There are crumbs all over the web on how to.

I understand a wall instance and wall type will have different parameters.

import clr

# import RevitNodes
import Revit

# import Revit Services 
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

# import Revit API
import Autodesk
from Autodesk.Revit.DB import *

# import system.
import System
from System.Collections.Generic import *
# get the current Revit document. 
doc = DocumentManager.Instance.CurrentDBDocument

###  -----------  FilterElementCollector --------------###
#All walls in project
#collector = FilteredElementCollector(doc)

wallTypes = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).ToElements()
#floorElements = FilteredElementCollector(doc).OfClass(Floor).WhereElementIsNotElementType().ToElements()
elements = wallTypes
for type in wallTypes:
	for param in params:
		if param.Definition.Name == "My Type Parameter":
	type.get_Parameter(paramID).Set("Please set")


OUT = outlist

The warning is that the Parameter is not shared hence has no GUID.

I also tried using
type.LookupParameter("My Parameter")

Can anyone help me here?

There are a couple things here.

This is not giving you wall types, but rather instances of walls.
You could get the wall type from the wall instances:

This is just iterating the walls and getting their types:

for wall in walls:
    wallType = wall.WallType

This is changing the Collector to only get wall types:

wallTypes = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).WhereElementIsElementType().ToElements()