regex = f"({types})\((?P<arg1>{num})(?:,(?P<arg2>{num}))?(?:,(?P<arg3>{num}))?(?:,(?P<arg4>{num}))?(?:,(?P<arg5>{num}))?(?:,(?P<arg6>{num}))?\)"# <- 'i' as an increasing number
for match inre.finditer(regex, t):
print({k:v for k,v in match.groupdict().items()if v isnotNone})