标签:内容 www bsp 图片 例子 parameter 示例 lse sha
一、tile函数
1.函数的定义与说明
>>> tile(1.3,2) array([ 1.3, 1.3]) array([1, 2, 1, 2, 1, 2]) >>> tile((1,2,3),2) array([1, 2, 3, 1, 2, 3]) >>> a=[[1,2,3],[4,5,5]] >>> tile(a,2) array([[1, 2, 3, 1, 2, 3], [4, 5, 5, 4, 5, 5]]) >>> tile([1,2,3],[2,2,2,2]) array([[[[1, 2, 3, 1, 2, 3], [1, 2, 3, 1, 2, 3]], [[1, 2, 3, 1, 2, 3], [1, 2, 3, 1, 2, 3]]], [[[1, 2, 3, 1, 2, 3], [1, 2, 3, 1, 2, 3]], [[1, 2, 3, 1, 2, 3], [1, 2, 3, 1, 2, 3]]]])
拿其中一个例子进行说明:
>>> a=[[1,2],[2,3]] >>> tile(a,2) array([[1, 2, 1, 2], [2, 3, 2, 3]])
>>> tile(a,[1,2]) array([[1, 2, 1, 2], [2, 3, 2, 3]]) >>> tile(a,[2,2]) array([[1, 2, 1, 2], [2, 3, 2, 3], [1, 2, 1, 2], [2, 3, 2, 3]])
tile(a,[2,2])中是将上述第二步的对a的第二维的copy次数变成了两次,a[0]copy两次,a[1]copy两次:[a[0],a[0],a[1],a[1]]结果如上所示。
>>> tile([1,2],[True,False]) array([], shape=(1, 0), dtype=int32) >>> tile([1,2],[True,True]) array([[1, 2]]) >>> tile([1,2],[True,True,True]) array([[[1, 2]]]) >>> tile([1,2],True) array([1, 2])
②当reps为dict类型时,实则取的是key值列表,且key值列表为升序排列如下所示:
>>> tile([1,2,3],{1:2,3:4}) array([[1, 2, 3, 1, 2, 3, 1, 2, 3]]) >>> tile([1,2,3],{3:4,1:2}) array([[1, 2, 3, 1, 2, 3, 1, 2, 3]]) >>> a={1:2,3:4} >>> tile([1,2,3],a.keys()) array([[1, 2, 3, 1, 2, 3, 1, 2, 3]])
③当A为int,string,float,bool,dict等类型的时候,操作大体相似,都是讲A视为一个整体,生成一个与reps的长度相同维度的数组。如下所示:
>>> tile({1:2,3:4,5:6},3) array([{1: 2, 3: 4, 5: 6}, {1: 2, 3: 4, 5: 6}, {1: 2, 3: 4, 5: 6}], dtype=object) >>> tile({1:2,3:4,5:6},[2,2]) array([[{1: 2, 3: 4, 5: 6}, {1: 2, 3: 4, 5: 6}], [{1: 2, 3: 4, 5: 6}, {1: 2, 3: 4, 5: 6}]], dtype=object) >>> tile(‘abc‘,3) array([‘abc‘, ‘abc‘, ‘abc‘], dtype=‘|S3‘) >>> tile(‘abc‘,[3,3]) array([[‘abc‘, ‘abc‘, ‘abc‘], [‘abc‘, ‘abc‘, ‘abc‘], [‘abc‘, ‘abc‘, ‘abc‘]], dtype=‘|S3‘) >>> tile(2,3) array([2, 2, 2]) >>> tile(2,[3,3]) array([[2, 2, 2], [2, 2, 2], [2, 2, 2]])
不过有所不同的是,当A为string类型以及dict类型的时候,array数组最后多了一个信息,即dtype,原因为何,即便看了一些源码,也不晓得是怎么回事,好像由array到ndarray,一大堆C的东西,搞不明白,索性作罢。另外,当对list类型进行mat操作然后作为参数A传入tile时也可以,不过结果类型不是array类型,而是matrix类型了,原因几何,我也无法解答。
二、图解tile函数
看到一个很棒的解释,贴在这里。
标签:内容 www bsp 图片 例子 parameter 示例 lse sha
原文地址:https://www.cnblogs.com/foxccfly/p/9940501.html