列表的append和pop方法类似于stack的push和pop, list[-1]类似于stack.top()
- 用两个stack实现queue,最好后变(pop,peek),因为stack身子先进去,屁股先出来;
- 用两个queue实现stack,最好先变(push),因为stack身子先进去,还是身子先出来
P.S. 应该也可以不按常规来,效率会很慢,两次重复操作
numpy和tensor
numpy可以看作是python中,用于处理高维数组运算的一个第三方库。
可以使用np.arange(起始值,终值,等差)来创建一个一维numpy数组(这里的np.arange()的用法和python自带的range()的用法相似,都是有返回值的,但是np.arange()返回的是numpy类型的对象),如:
对于实例化的np对象,可以通过.shape的点方法访问该对象的形状属性。使用reshape()的方法,生成一个改变过形状的新np对象(这里的reshape()是方法,所以有括号,相当于一个有参构造函数,生成了一个新的np对象data2)
data1.reshape(改变后的形状),的输入即为生成新的np对象的形状,这里的reshape()方法还是很有用的,在数据处理和深度学习中,很多函数要求输入的两个数据必须是同shape的。
很多的深度学习模型处理的输入数据要求是tensor类型的,在我看来二者都是表示高维数组的一种数据结构,所表达的内容和shape大致一样,我们需要注意的就是深度学习模型要求的数据都得是tensor类型的,所以需要用tf.convert_to_tensor(输入np对象)
可以看到tensor对象也是一样有shape属性和reshape()方法的