Not a particularly complex question but I'm looking for a efficient/clean way to generate all possible permutations of tuples.
For example, given a size value (ex. 3) for an n x n grid.
(1,1) (2,1) (3,1)
(1,2) (2,2) (3,2)
(1,3) (2,3) (3,3)
I'd like to generate comparisons between rows and columns.
So for rows, comparisons would go as (1,1) vs (2,1), (1,1) vs (3,1), (2,1) vs (3,1) ... (1,2) vs (2,2), (2,2) vs (3,2) ... etc
And for columns, comparisons would go as (1,1) vs (1,2), (1,1) vs (1,3), (1,2) vs (1,3), .. (2,1) vs (2,2), (2,1) vs (2,3), (2,2) vs (2,3) ... etc
Does anyone know of an easy way to generate each pair of tuples? I'd like to pass the two tuples from the comparison into a separate function (tuple1, tuple2). Got an idea but it uses multiple for loops and seems inefficient. Assistance would be appreciated.