Cartesian product in Gray code order with itertools?
问题 Is there something like Python's itertools.product() that provides the iteration through the Cartesian product of a set of sets in Gray code order ? For example, supposing that such a hypothetical generator existed, and it was called gray_code_product() , then gray_code_product(['a','b','c'], [0,1], ['x','y']) would generate, in the order : ('a',0,'x') ('a',0,'y') ('a',1,'y') ('a',1,'x') ('b',1,'x') ('b',1,'y') ('b',0,'y') ('b',0,'x') ('c',0,'x') ('c',0,'y') ('c',1,'y') ('c',1,'x') 回答1: