Saving a part material, changing it to a different one then changing it back to saved material

What i’m trying to do here is save a part material for later, change the said part material to something else then after a while change the part material to the saved one.
Is there any ways to do this besides a for loop?

-- saved part material
for _,v in pairs(game.Workspace.Map.Lights:GetChildren()) do
	if v:IsA("Part") then
		v.Material = Enum.Material.Neon
	end
end
-- changing the part material 
for _,v in pairs(game.Workspace.Map.Lights:GetChildren()) do
	if v:IsA("Part") then
		v.Material = Enum.Material.SmoothPlastic
	end
end
-- changing it back to the saved part material.
for _,v in pairs(game.Workspace.Map.Lights:GetChildren()) do
	if v:IsA("Part") then
		v.Material = Enum.Material.Neon
	end
end

What happened? Is the Material still a neon?

The material was and always is neon but i wanna save the part material (neon) then change that part material (neon) to (smooth plastic), then afterwards do the opposite (from smoothplastic to neon)

store the material in a table
30-characters

like this?

local __MATS  = {}
for _,v in pairs(game.Workspace.Map.Lights:GetChildren()) do
	if v:IsA("Part") then
		table.insert(__MATS, v.Material)
	end
end