python第七章课后习题(9)

完善函数fun9,参数data是一个整型列表,在任意两个相邻整数之间插入2个8。必须使用numpy。返回结果为Numpy的ndarray类型。

这题的思路是,创建一个np,数目就是data数据之间插两个8的数目,然后这里面全部弄成8,所以full内的参数就是
len(data)+2*(len(data)-1),8
然后利用np切片不是副本,而是视图的特点,把特定位置的元素替换成data中的数据就行
思路还是挺巧妙的

def fun9(data=[1,2,3,4,5]):
    """
    Arg:
        data : a list as input; e.g. [1,2,3,4,5]
    return a Numpy ndarray; e.g. [1 8 8 2 8 8 3 8 8 4 8 8 5]
    """
    
    nump=np.array(data)
    nplst=np.full(3*len(data)-2,8)
    nplst[::3]=nump
    return nplst

猜你喜欢

转载自blog.csdn.net/qq_53029299/article/details/115117637
今日推荐