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把二维列表中的一个个列表变为元组

    
    
  • 相关阅读:
    .net 加伪静态的方法
    前台调用后台事件的方法
    关于一个网站的源码问题
    div里面有ul li时 让高度自适应的方法
    用insert语句写入汉字变成问号的解决
    .net 4.0 ValidateRequest="false" 无效
    修复 VS2008 asp.net 设计视图 失效/工具选项[Html设计视图]出现"加载此属性页时出错" 方案
    绑定数据时,时间格式的转换
    IE下CSS属性float:right下移换行或不显示的问题原因及解决
    珍惜生命,远离培训 《如何选择好的培训机构》读后感 JavaEye技术网站
  • 原文地址:https://www.cnblogs.com/miaoweiye/p/12604590.html
Copyright © 2011-2022 走看看