Problem with list

I’ve made a small script that appends everything to a list from which after I want to be able if the said appended button is pressed, problem being that since I’m grabbing all buttons from lists the script thinks I want to print the statement by how much items there are in the list,

Is it possible to somehow negate this so it prints it once any time any button is pressed?

for i,v in pairs(game.Players.LocalPlayer.PlayerGui.ScreenGui:GetDescendants()) do
	if v:IsA("TextButton") then
		print(v)
		v.MouseButton1Down:Connect(function() 
			    print("yes")
		end)
	end
end