zoukankan      html  css  js  c++  java
  • 待填坑

    今天看见一个烧脑的代码,一时没看懂结果,刨个坑,看懂填

    def product(*args, repeat=1):
        pools = [tuple(pool) for pool in args] * repeat
        result = [[]]
        for pool in pools:
            result = [x+[y] for x in result for y in pool]
        for prod in result:
            yield tuple(prod)
    
    rtn = product('xyz', '12', repeat=3)
    print(list(rtn))
    
    
    #result:

    [('x', '1', 'x', '1', 'x', '1'), ('x', '1', 'x', '1', 'x', '2'), ('x', '1', 'x', '1', 'y', '1'), ('x', '1', 'x', '1', 'y', '2'), ('x', '1', 'x', '1', 'z', '1'), ('x', '1', 'x', '1', 'z', '2'), ('x', '1', 'x', '2', 'x', '1'), ('x', '1', 'x', '2', 'x', '2'), ('x', '1', 'x', '2', 'y', '1'), ('x', '1', 'x', '2', 'y', '2'), ('x', '1', 'x', '2', 'z', '1'), ('x', '1', 'x', '2', 'z', '2'), ('x', '1', 'y', '1', 'x', '1'), ('x', '1', 'y', '1', 'x', '2'), ('x', '1', 'y', '1', 'y', '1'), ('x', '1', 'y', '1', 'y', '2'), ('x', '1', 'y', '1', 'z', '1'), ('x', '1', 'y', '1', 'z', '2'), ('x', '1', 'y', '2', 'x', '1'), ('x', '1', 'y', '2', 'x', '2'), ('x', '1', 'y', '2', 'y', '1'), ('x', '1', 'y', '2', 'y', '2'), ('x', '1', 'y', '2', 'z', '1'), ('x', '1', 'y', '2', 'z', '2'), ('x', '1', 'z', '1', 'x', '1'), ('x', '1', 'z', '1', 'x', '2'), ('x', '1', 'z', '1', 'y', '1'), ('x', '1', 'z', '1', 'y', '2'), ('x', '1', 'z', '1', 'z', '1'), ('x', '1', 'z', '1', 'z', '2'), ('x', '1', 'z', '2', 'x', '1'), ('x', '1', 'z', '2', 'x', '2'), ('x', '1', 'z', '2', 'y', '1'), ('x', '1', 'z', '2', 'y', '2'), ('x', '1', 'z', '2', 'z', '1'), ('x', '1', 'z', '2', 'z', '2'), ('x', '2', 'x', '1', 'x', '1'), ('x', '2', 'x', '1', 'x', '2'), ('x', '2', 'x', '1', 'y', '1'), ('x', '2', 'x', '1', 'y', '2'), ('x', '2', 'x', '1', 'z', '1'), ('x', '2', 'x', '1', 'z', '2'), ('x', '2', 'x', '2', 'x', '1'), ('x', '2', 'x', '2', 'x', '2'), ('x', '2', 'x', '2', 'y', '1'), ('x', '2', 'x', '2', 'y', '2'), ('x', '2', 'x', '2', 'z', '1'), ('x', '2', 'x', '2', 'z', '2'), ('x', '2', 'y', '1', 'x', '1'), ('x', '2', 'y', '1', 'x', '2'), ('x', '2', 'y', '1', 'y', '1'), ('x', '2', 'y', '1', 'y', '2'), ('x', '2', 'y', '1', 'z', '1'), ('x', '2', 'y', '1', 'z', '2'), ('x', '2', 'y', '2', 'x', '1'), ('x', '2', 'y', '2', 'x', '2'), ('x', '2', 'y', '2', 'y', '1'), ('x', '2', 'y', '2', 'y', '2'), ('x', '2', 'y', '2', 'z', '1'), ('x', '2', 'y', '2', 'z', '2'), ('x', '2', 'z', '1', 'x', '1'), ('x', '2', 'z', '1', 'x', '2'), ('x', '2', 'z', '1', 'y', '1'), ('x', '2', 'z', '1', 'y', '2'), ('x', '2', 'z', '1', 'z', '1'), ('x', '2', 'z', '1', 'z', '2'), ('x', '2', 'z', '2', 'x', '1'), ('x', '2', 'z', '2', 'x', '2'), ('x', '2', 'z', '2', 'y', '1'), ('x', '2', 'z', '2', 'y', '2'), ('x', '2', 'z', '2', 'z', '1'), ('x', '2', 'z', '2', 'z', '2'), ('y', '1', 'x', '1', 'x', '1'), ('y', '1', 'x', '1', 'x', '2'), ('y', '1', 'x', '1', 'y', '1'), ('y', '1', 'x', '1', 'y', '2'), ('y', '1', 'x', '1', 'z', '1'), ('y', '1', 'x', '1', 'z', '2'), ('y', '1', 'x', '2', 'x', '1'), ('y', '1', 'x', '2', 'x', '2'), ('y', '1', 'x', '2', 'y', '1'), ('y', '1', 'x', '2', 'y', '2'), ('y', '1', 'x', '2', 'z', '1'), ('y', '1', 'x', '2', 'z', '2'), ('y', '1', 'y', '1', 'x', '1'), ('y', '1', 'y', '1', 'x', '2'), ('y', '1', 'y', '1', 'y', '1'), ('y', '1', 'y', '1', 'y', '2'), ('y', '1', 'y', '1', 'z', '1'), ('y', '1', 'y', '1', 'z', '2'), ('y', '1', 'y', '2', 'x', '1'), ('y', '1', 'y', '2', 'x', '2'), ('y', '1', 'y', '2', 'y', '1'), ('y', '1', 'y', '2', 'y', '2'), ('y', '1', 'y', '2', 'z', '1'), ('y', '1', 'y', '2', 'z', '2'), ('y', '1', 'z', '1', 'x', '1'), ('y', '1', 'z', '1', 'x', '2'), ('y', '1', 'z', '1', 'y', '1'), ('y', '1', 'z', '1', 'y', '2'), ('y', '1', 'z', '1', 'z', '1'), ('y', '1', 'z', '1', 'z', '2'), ('y', '1', 'z', '2', 'x', '1'), ('y', '1', 'z', '2', 'x', '2'), ('y', '1', 'z', '2', 'y', '1'), ('y', '1', 'z', '2', 'y', '2'), ('y', '1', 'z', '2', 'z', '1'), ('y', '1', 'z', '2', 'z', '2'), ('y', '2', 'x', '1', 'x', '1'), ('y', '2', 'x', '1', 'x', '2'), ('y', '2', 'x', '1', 'y', '1'), ('y', '2', 'x', '1', 'y', '2'), ('y', '2', 'x', '1', 'z', '1'), ('y', '2', 'x', '1', 'z', '2'), ('y', '2', 'x', '2', 'x', '1'), ('y', '2', 'x', '2', 'x', '2'), ('y', '2', 'x', '2', 'y', '1'), ('y', '2', 'x', '2', 'y', '2'), ('y', '2', 'x', '2', 'z', '1'), ('y', '2', 'x', '2', 'z', '2'), ('y', '2', 'y', '1', 'x', '1'), ('y', '2', 'y', '1', 'x', '2'), ('y', '2', 'y', '1', 'y', '1'), ('y', '2', 'y', '1', 'y', '2'), ('y', '2', 'y', '1', 'z', '1'), ('y', '2', 'y', '1', 'z', '2'), ('y', '2', 'y', '2', 'x', '1'), ('y', '2', 'y', '2', 'x', '2'), ('y', '2', 'y', '2', 'y', '1'), ('y', '2', 'y', '2', 'y', '2'), ('y', '2', 'y', '2', 'z', '1'), ('y', '2', 'y', '2', 'z', '2'), ('y', '2', 'z', '1', 'x', '1'), ('y', '2', 'z', '1', 'x', '2'), ('y', '2', 'z', '1', 'y', '1'), ('y', '2', 'z', '1', 'y', '2'), ('y', '2', 'z', '1', 'z', '1'), ('y', '2', 'z', '1', 'z', '2'), ('y', '2', 'z', '2', 'x', '1'), ('y', '2', 'z', '2', 'x', '2'), ('y', '2', 'z', '2', 'y', '1'), ('y', '2', 'z', '2', 'y', '2'), ('y', '2', 'z', '2', 'z', '1'), ('y', '2', 'z', '2', 'z', '2'), ('z', '1', 'x', '1', 'x', '1'), ('z', '1', 'x', '1', 'x', '2'), ('z', '1', 'x', '1', 'y', '1'), ('z', '1', 'x', '1', 'y', '2'), ('z', '1', 'x', '1', 'z', '1'), ('z', '1', 'x', '1', 'z', '2'), ('z', '1', 'x', '2', 'x', '1'), ('z', '1', 'x', '2', 'x', '2'), ('z', '1', 'x', '2', 'y', '1'), ('z', '1', 'x', '2', 'y', '2'), ('z', '1', 'x', '2', 'z', '1'), ('z', '1', 'x', '2', 'z', '2'), ('z', '1', 'y', '1', 'x', '1'), ('z', '1', 'y', '1', 'x', '2'), ('z', '1', 'y', '1', 'y', '1'), ('z', '1', 'y', '1', 'y', '2'), ('z', '1', 'y', '1', 'z', '1'), ('z', '1', 'y', '1', 'z', '2'), ('z', '1', 'y', '2', 'x', '1'), ('z', '1', 'y', '2', 'x', '2'), ('z', '1', 'y', '2', 'y', '1'), ('z', '1', 'y', '2', 'y', '2'), ('z', '1', 'y', '2', 'z', '1'), ('z', '1', 'y', '2', 'z', '2'), ('z', '1', 'z', '1', 'x', '1'), ('z', '1', 'z', '1', 'x', '2'), ('z', '1', 'z', '1', 'y', '1'), ('z', '1', 'z', '1', 'y', '2'), ('z', '1', 'z', '1', 'z', '1'), ('z', '1', 'z', '1', 'z', '2'), ('z', '1', 'z', '2', 'x', '1'), ('z', '1', 'z', '2', 'x', '2'), ('z', '1', 'z', '2', 'y', '1'), ('z', '1', 'z', '2', 'y', '2'), ('z', '1', 'z', '2', 'z', '1'), ('z', '1', 'z', '2', 'z', '2'), ('z', '2', 'x', '1', 'x', '1'), ('z', '2', 'x', '1', 'x', '2'), ('z', '2', 'x', '1', 'y', '1'), ('z', '2', 'x', '1', 'y', '2'), ('z', '2', 'x', '1', 'z', '1'), ('z', '2', 'x', '1', 'z', '2'), ('z', '2', 'x', '2', 'x', '1'), ('z', '2', 'x', '2', 'x', '2'), ('z', '2', 'x', '2', 'y', '1'), ('z', '2', 'x', '2', 'y', '2'), ('z', '2', 'x', '2', 'z', '1'), ('z', '2', 'x', '2', 'z', '2'), ('z', '2', 'y', '1', 'x', '1'), ('z', '2', 'y', '1', 'x', '2'), ('z', '2', 'y', '1', 'y', '1'), ('z', '2', 'y', '1', 'y', '2'), ('z', '2', 'y', '1', 'z', '1'), ('z', '2', 'y', '1', 'z', '2'), ('z', '2', 'y', '2', 'x', '1'), ('z', '2', 'y', '2', 'x', '2'), ('z', '2', 'y', '2', 'y', '1'), ('z', '2', 'y', '2', 'y', '2'), ('z', '2', 'y', '2', 'z', '1'), ('z', '2', 'y', '2', 'z', '2'), ('z', '2', 'z', '1', 'x', '1'), ('z', '2', 'z', '1', 'x', '2'), ('z', '2', 'z', '1', 'y', '1'), ('z', '2', 'z', '1', 'y', '2'), ('z', '2', 'z', '1', 'z', '1'), ('z', '2', 'z', '1', 'z', '2'), ('z', '2', 'z', '2', 'x', '1'), ('z', '2', 'z', '2', 'x', '2'), ('z', '2', 'z', '2', 'y', '1'), ('z', '2', 'z', '2', 'y', '2'), ('z', '2', 'z', '2', 'z', '1'), ('z', '2', 'z', '2', 'z', '2')]

    ##############################################################33

    pools=[('x', 'y', 'z'), ('1', '2'), ('x', 'y', 'z'), ('1', '2'), ('x', 'y', 'z'), ('1', '2')]
    result=

    [['x', '1', 'x', '1', 'x', '1'], ['x', '1', 'x', '1', 'x', '2'], ['x', '1', 'x', '1', 'y', '1'], ['x', '1', 'x', '1', 'y', '2'], ['x', '1', 'x', '1', 'z', '1'], ['x', '1', 'x', '1', 'z', '2'], ['x', '1', 'x', '2', 'x', '1'], ['x', '1', 'x', '2', 'x', '2'], ['x', '1', 'x', '2', 'y', '1'], ['x', '1', 'x', '2', 'y', '2'], ['x', '1', 'x', '2', 'z', '1'], ['x', '1', 'x', '2', 'z', '2'], ['x', '1', 'y', '1', 'x', '1'], ['x', '1', 'y', '1', 'x', '2'], ['x', '1', 'y', '1', 'y', '1'], ['x', '1', 'y', '1', 'y', '2'], ['x', '1', 'y', '1', 'z', '1'], ['x', '1', 'y', '1', 'z', '2'], ['x', '1', 'y', '2', 'x', '1'], ['x', '1', 'y', '2', 'x', '2'], ['x', '1', 'y', '2', 'y', '1'], ['x', '1', 'y', '2', 'y', '2'], ['x', '1', 'y', '2', 'z', '1'], ['x', '1', 'y', '2', 'z', '2'], ['x', '1', 'z', '1', 'x', '1'], ['x', '1', 'z', '1', 'x', '2'], ['x', '1', 'z', '1', 'y', '1'], ['x', '1', 'z', '1', 'y', '2'], ['x', '1', 'z', '1', 'z', '1'], ['x', '1', 'z', '1', 'z', '2'], ['x', '1', 'z', '2', 'x', '1'], ['x', '1', 'z', '2', 'x', '2'], ['x', '1', 'z', '2', 'y', '1'], ['x', '1', 'z', '2', 'y', '2'], ['x', '1', 'z', '2', 'z', '1'], ['x', '1', 'z', '2', 'z', '2'], ['x', '2', 'x', '1', 'x', '1'], ['x', '2', 'x', '1', 'x', '2'], ['x', '2', 'x', '1', 'y', '1'], ['x', '2', 'x', '1', 'y', '2'], ['x', '2', 'x', '1', 'z', '1'], ['x', '2', 'x', '1', 'z', '2'], ['x', '2', 'x', '2', 'x', '1'], ['x', '2', 'x', '2', 'x', '2'], ['x', '2', 'x', '2', 'y', '1'], ['x', '2', 'x', '2', 'y', '2'], ['x', '2', 'x', '2', 'z', '1'], ['x', '2', 'x', '2', 'z', '2'], ['x', '2', 'y', '1', 'x', '1'], ['x', '2', 'y', '1', 'x', '2'], ['x', '2', 'y', '1', 'y', '1'], ['x', '2', 'y', '1', 'y', '2'], ['x', '2', 'y', '1', 'z', '1'], ['x', '2', 'y', '1', 'z', '2'], ['x', '2', 'y', '2', 'x', '1'], ['x', '2', 'y', '2', 'x', '2'], ['x', '2', 'y', '2', 'y', '1'], ['x', '2', 'y', '2', 'y', '2'], ['x', '2', 'y', '2', 'z', '1'], ['x', '2', 'y', '2', 'z', '2'], ['x', '2', 'z', '1', 'x', '1'], ['x', '2', 'z', '1', 'x', '2'], ['x', '2', 'z', '1', 'y', '1'], ['x', '2', 'z', '1', 'y', '2'], ['x', '2', 'z', '1', 'z', '1'], ['x', '2', 'z', '1', 'z', '2'], ['x', '2', 'z', '2', 'x', '1'], ['x', '2', 'z', '2', 'x', '2'], ['x', '2', 'z', '2', 'y', '1'], ['x', '2', 'z', '2', 'y', '2'], ['x', '2', 'z', '2', 'z', '1'], ['x', '2', 'z', '2', 'z', '2'], ['y', '1', 'x', '1', 'x', '1'], ['y', '1', 'x', '1', 'x', '2'], ['y', '1', 'x', '1', 'y', '1'], ['y', '1', 'x', '1', 'y', '2'], ['y', '1', 'x', '1', 'z', '1'], ['y', '1', 'x', '1', 'z', '2'], ['y', '1', 'x', '2', 'x', '1'], ['y', '1', 'x', '2', 'x', '2'], ['y', '1', 'x', '2', 'y', '1'], ['y', '1', 'x', '2', 'y', '2'], ['y', '1', 'x', '2', 'z', '1'], ['y', '1', 'x', '2', 'z', '2'], ['y', '1', 'y', '1', 'x', '1'], ['y', '1', 'y', '1', 'x', '2'], ['y', '1', 'y', '1', 'y', '1'], ['y', '1', 'y', '1', 'y', '2'], ['y', '1', 'y', '1', 'z', '1'], ['y', '1', 'y', '1', 'z', '2'], ['y', '1', 'y', '2', 'x', '1'], ['y', '1', 'y', '2', 'x', '2'], ['y', '1', 'y', '2', 'y', '1'], ['y', '1', 'y', '2', 'y', '2'], ['y', '1', 'y', '2', 'z', '1'], ['y', '1', 'y', '2', 'z', '2'], ['y', '1', 'z', '1', 'x', '1'], ['y', '1', 'z', '1', 'x', '2'], ['y', '1', 'z', '1', 'y', '1'], ['y', '1', 'z', '1', 'y', '2'], ['y', '1', 'z', '1', 'z', '1'], ['y', '1', 'z', '1', 'z', '2'], ['y', '1', 'z', '2', 'x', '1'], ['y', '1', 'z', '2', 'x', '2'], ['y', '1', 'z', '2', 'y', '1'], ['y', '1', 'z', '2', 'y', '2'], ['y', '1', 'z', '2', 'z', '1'], ['y', '1', 'z', '2', 'z', '2'], ['y', '2', 'x', '1', 'x', '1'], ['y', '2', 'x', '1', 'x', '2'], ['y', '2', 'x', '1', 'y', '1'], ['y', '2', 'x', '1', 'y', '2'], ['y', '2', 'x', '1', 'z', '1'], ['y', '2', 'x', '1', 'z', '2'], ['y', '2', 'x', '2', 'x', '1'], ['y', '2', 'x', '2', 'x', '2'], ['y', '2', 'x', '2', 'y', '1'], ['y', '2', 'x', '2', 'y', '2'], ['y', '2', 'x', '2', 'z', '1'], ['y', '2', 'x', '2', 'z', '2'], ['y', '2', 'y', '1', 'x', '1'], ['y', '2', 'y', '1', 'x', '2'], ['y', '2', 'y', '1', 'y', '1'], ['y', '2', 'y', '1', 'y', '2'], ['y', '2', 'y', '1', 'z', '1'], ['y', '2', 'y', '1', 'z', '2'], ['y', '2', 'y', '2', 'x', '1'], ['y', '2', 'y', '2', 'x', '2'], ['y', '2', 'y', '2', 'y', '1'], ['y', '2', 'y', '2', 'y', '2'], ['y', '2', 'y', '2', 'z', '1'], ['y', '2', 'y', '2', 'z', '2'], ['y', '2', 'z', '1', 'x', '1'], ['y', '2', 'z', '1', 'x', '2'], ['y', '2', 'z', '1', 'y', '1'], ['y', '2', 'z', '1', 'y', '2'], ['y', '2', 'z', '1', 'z', '1'], ['y', '2', 'z', '1', 'z', '2'], ['y', '2', 'z', '2', 'x', '1'], ['y', '2', 'z', '2', 'x', '2'], ['y', '2', 'z', '2', 'y', '1'], ['y', '2', 'z', '2', 'y', '2'], ['y', '2', 'z', '2', 'z', '1'], ['y', '2', 'z', '2', 'z', '2'], ['z', '1', 'x', '1', 'x', '1'], ['z', '1', 'x', '1', 'x', '2'], ['z', '1', 'x', '1', 'y', '1'], ['z', '1', 'x', '1', 'y', '2'], ['z', '1', 'x', '1', 'z', '1'], ['z', '1', 'x', '1', 'z', '2'], ['z', '1', 'x', '2', 'x', '1'], ['z', '1', 'x', '2', 'x', '2'], ['z', '1', 'x', '2', 'y', '1'], ['z', '1', 'x', '2', 'y', '2'], ['z', '1', 'x', '2', 'z', '1'], ['z', '1', 'x', '2', 'z', '2'], ['z', '1', 'y', '1', 'x', '1'], ['z', '1', 'y', '1', 'x', '2'], ['z', '1', 'y', '1', 'y', '1'], ['z', '1', 'y', '1', 'y', '2'], ['z', '1', 'y', '1', 'z', '1'], ['z', '1', 'y', '1', 'z', '2'], ['z', '1', 'y', '2', 'x', '1'], ['z', '1', 'y', '2', 'x', '2'], ['z', '1', 'y', '2', 'y', '1'], ['z', '1', 'y', '2', 'y', '2'], ['z', '1', 'y', '2', 'z', '1'], ['z', '1', 'y', '2', 'z', '2'], ['z', '1', 'z', '1', 'x', '1'], ['z', '1', 'z', '1', 'x', '2'], ['z', '1', 'z', '1', 'y', '1'], ['z', '1', 'z', '1', 'y', '2'], ['z', '1', 'z', '1', 'z', '1'], ['z', '1', 'z', '1', 'z', '2'], ['z', '1', 'z', '2', 'x', '1'], ['z', '1', 'z', '2', 'x', '2'], ['z', '1', 'z', '2', 'y', '1'], ['z', '1', 'z', '2', 'y', '2'], ['z', '1', 'z', '2', 'z', '1'], ['z', '1', 'z', '2', 'z', '2'], ['z', '2', 'x', '1', 'x', '1'], ['z', '2', 'x', '1', 'x', '2'], ['z', '2', 'x', '1', 'y', '1'], ['z', '2', 'x', '1', 'y', '2'], ['z', '2', 'x', '1', 'z', '1'], ['z', '2', 'x', '1', 'z', '2'], ['z', '2', 'x', '2', 'x', '1'], ['z', '2', 'x', '2', 'x', '2'], ['z', '2', 'x', '2', 'y', '1'], ['z', '2', 'x', '2', 'y', '2'], ['z', '2', 'x', '2', 'z', '1'], ['z', '2', 'x', '2', 'z', '2'], ['z', '2', 'y', '1', 'x', '1'], ['z', '2', 'y', '1', 'x', '2'], ['z', '2', 'y', '1', 'y', '1'], ['z', '2', 'y', '1', 'y', '2'], ['z', '2', 'y', '1', 'z', '1'], ['z', '2', 'y', '1', 'z', '2'], ['z', '2', 'y', '2', 'x', '1'], ['z', '2', 'y', '2', 'x', '2'], ['z', '2', 'y', '2', 'y', '1'], ['z', '2', 'y', '2', 'y', '2'], ['z', '2', 'y', '2', 'z', '1'], ['z', '2', 'y', '2', 'z', '2'], ['z', '2', 'z', '1', 'x', '1'], ['z', '2', 'z', '1', 'x', '2'], ['z', '2', 'z', '1', 'y', '1'], ['z', '2', 'z', '1', 'y', '2'], ['z', '2', 'z', '1', 'z', '1'], ['z', '2', 'z', '1', 'z', '2'], ['z', '2', 'z', '2', 'x', '1'], ['z', '2', 'z', '2', 'x', '2'], ['z', '2', 'z', '2', 'y', '1'], ['z', '2', 'z', '2', 'y', '2'], ['z', '2', 'z', '2', 'z', '1'], ['z', '2', 'z', '2', 'z', '2']]

    通过打印两个关键列表,看懂了,pools是把两个字符串分割成两个元组重复了三遍,result为列表推导式,先执行后面的for循环,等于是把result中的6个元组里的元素分别组合了一遍成为一个个列表,整体是个二维列表,最后的for循环yield把二维列表中的一个个列表变为元组

    
    
  • 相关阅读:
    Java 位运算(移位、位与、或、异或、非)
    解决Android Studio 2.2.3中添加.cpp .h文件在Project->Android无法显示,无法正常编译问题。
    [ACM] HDU 5083 Instruction (模拟)
    Vbox视图热键
    Android Drawable 与 LayerList综合汇总
    数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
    HDU 2896 病毒侵袭 AC自己主动机题解
    对团队中“这是某某某的问题”引起的思考
    杭电 2201
    三层架构
  • 原文地址:https://www.cnblogs.com/miaoweiye/p/12604590.html
Copyright © 2011-2022 走看看