Try removing the asterisk in line 5.
I'd be careful with using dictionary.get() here. If it doesn't find the specified key, it will return None by default, which will remove the value from the field. I don't think that is intended behavior. Instead, I'd do a try-except. Didn't see you were updating another field, where None values don't mean data loss. I'd still do it with a try-except to get a printout of the erroneous rows, if any.
Also, row is a tuple, which is immutable, so assigning to row[2] will raise an exception. Nope, I was thinking of SearchCursor. UpdateCursor returns a list. Thanks @Anonymous User for the headsup.
import arcpy
fc = 'C:/Temp/permits.gdb/test'
assignName = {"BP" : "BuildingPermit", "FMEA" : "FEMA_LOMAR", 'PLAT': "Plat"}
with arcpy.da.UpdateCursor(fc,["OBJECTID", "Type", "Type2"]) as cursor:
for oid, t, t2 in cursor:
if t is None: # skip is no Type value
continue
if 'PLAT' in t: # Type == 'PLAT*'? -> Type = 'PLAT'
t = 'PLAT'
try:
t2 = assignName[t]
except KeyError:
print(f'KeyError for OBJECTID {oid}: Can't find {t} in assignName')
t2 = None
cursor.updateRow([oid, t, t2])
Have a great day!
Johannes