The easiest way is to use itertools.product() :
group1 = ["Steve", "Mark", "Tom"] group2 = ["Brett", "Mick", "Foo"] group3 = ["Dan", "Phil"] for x in itertools.product(group1, group2, group3): print x
prints
('Steve', 'Brett', 'Dan') ('Steve', 'Brett', 'Phil') ('Steve', 'Mick', 'Dan') ('Steve', 'Mick', 'Phil') ('Steve', 'Foo', 'Dan') ('Steve', 'Foo', 'Phil') ('Mark', 'Brett', 'Dan') ('Mark', 'Brett', 'Phil') ('Mark', 'Mick', 'Dan') ('Mark', 'Mick', 'Phil') ('Mark', 'Foo', 'Dan') ('Mark', 'Foo', 'Phil') ('Tom', 'Brett', 'Dan') ('Tom', 'Brett', 'Phil') ('Tom', 'Mick', 'Dan') ('Tom', 'Mick', 'Phil') ('Tom', 'Foo', 'Dan') ('Tom', 'Foo', 'Phil')