can visually think about it as like "laying down tiles"in [ ]arr out[ ]array([ - ] ]]in [ ]np tile(arr out[ ]array([ - - ] ]]the second argument is the number of tileswith scalarthe tiling is made row-byrowrather than column by columnthe second argument to tile can be tuple indicating the layout of the "tiling"in [ ]arr out[ ]array([ - ] ]]in [ ]np tile(arr( )out[ ]array([ - ] ] - ] ]]in [ ]np tile(arr( )out[ ]array([ - - ] ] - - ] ] - - ] ]]fancy indexing equivalentstake and put as you may recall from one way to get and set subsets of arrays is by fancy indexing using integer arraysin [ ]arr np arange( in [ ]inds [ in [ ]arr[indsout[ ]array([ ]there are alternate ndarray methods that are useful in the special case of only making selection on single axisin [ ]arr take(indsout[ ]array([ ]in [ ]arr put(inds in [ ]arr out[ ]array( ]in [ ]arr put(inds[ ]advanced array manipulation www it-ebooks info