2 added 39 characters in body edited Feb 20 '18 at 4:34 Mike Honeychurch 31.2k22 gold badges6969 silver badges143143 bronze badges Why not just pad the list and create an extra definition for f? f[0, 0] = Nothing; MapThread[f, {PadRight@Range@Range@3, PadRight@Range@Range@3}, 2] (* {{f[1, 1]}, {f[1, 1], f[2, 2]}, {f[1, 1], f[2, 2], f[3, 3]}} *)  or in case f[0,0] is required to do something then this: f[Missing[], Missing[]] = Nothing; MapThread[f, {PadRight[Range@Range@3, {3, 3}, Missing[]], PadRight[Range@Range@3, {3, 3}, Missing[]]}, 2] (* {{f[1, 1]}, {f[1, 1], f[2, 2]}, {f[1, 1], f[2, 2], f[3, 3]}} *)  Why not just pad the list? f[0, 0] = Nothing; MapThread[f, {PadRight@Range@Range@3, PadRight@Range@Range@3}, 2] (* {{f[1, 1]}, {f[1, 1], f[2, 2]}, {f[1, 1], f[2, 2], f[3, 3]}} *)  or in case f[0,0] is required then this: f[Missing[], Missing[]] = Nothing; MapThread[f, {PadRight[Range@Range@3, {3, 3}, Missing[]], PadRight[Range@Range@3, {3, 3}, Missing[]]}, 2] (* {{f[1, 1]}, {f[1, 1], f[2, 2]}, {f[1, 1], f[2, 2], f[3, 3]}} *)  Why not just pad the list and create an extra definition for f? f[0, 0] = Nothing; MapThread[f, {PadRight@Range@Range@3, PadRight@Range@Range@3}, 2] (* {{f[1, 1]}, {f[1, 1], f[2, 2]}, {f[1, 1], f[2, 2], f[3, 3]}} *)  or in case f[0,0] is required to do something then this: f[Missing[], Missing[]] = Nothing; MapThread[f, {PadRight[Range@Range@3, {3, 3}, Missing[]], PadRight[Range@Range@3, {3, 3}, Missing[]]}, 2] (* {{f[1, 1]}, {f[1, 1], f[2, 2]}, {f[1, 1], f[2, 2], f[3, 3]}} *)  1 answered Feb 20 '18 at 3:48 Mike Honeychurch 31.2k22 gold badges6969 silver badges143143 bronze badges Why not just pad the list? f[0, 0] = Nothing; MapThread[f, {PadRight@Range@Range@3, PadRight@Range@Range@3}, 2] (* {{f[1, 1]}, {f[1, 1], f[2, 2]}, {f[1, 1], f[2, 2], f[3, 3]}} *)  or in case f[0,0] is required then this: f[Missing[], Missing[]] = Nothing; MapThread[f, {PadRight[Range@Range@3, {3, 3}, Missing[]], PadRight[Range@Range@3, {3, 3}, Missing[]]}, 2] (* {{f[1, 1]}, {f[1, 1], f[2, 2]}, {f[1, 1], f[2, 2], f[3, 3]}} *)