yes, t[3] is the content of the ${3:} tabstop. The python code inserts ", " at the place where it is defined if there is text in the third tabstop, otherwise it inserts the empty string. You can use this to combine all the methods and the user can backspace over those that she doesn't need - it is much less interrupting the flow than being asked in the menu.

Your call :)