题目描述:
大概的意思就是将列表中的第一个元素放到列表的最后面,一个元素的列表或者空列表返回列表本身。
题解1:
思路:使用列表中的pop()方法将第一个值弹出并返回,返回的值使用列表中的append()方法添加入items列表中,这样就可以实现将列表的第一个值放在最后面,因为当列表为空时,使用pop()方法会报错,因此在前面加上一个判断将列表为空的情况排除,并且列表为空是直接返回原列表。
pop()方法:
- pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
- pop()方法语法:list.pop([index=-1])
- 参数:obj -- 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。
- 返回值:该方法返回从列表中移除的元素对象。
append()方法:
- append() 方法用于在列表末尾添加新的对象。
- append()方法语法:list.append(obj)
- 参数:obj -- 添加到列表末尾的对象。
- 返回值:该方法无返回值,但是会修改原来的列表。
题解2:
思路: 使用numpy中的roll方法,沿x轴的负方向滚动一个单位,超出位置的将在后面的位置重新引入,这样就实现了将列表中的第一个元素放在最后的效果。
numpy.roll()方法:
- roll()方法的作用:沿给定轴滚动数组元素,超出最后位置的元素将在第一个位置重新引入。
- roll()方法语法:numpy.roll(a, shift, axis=None)
- 参数:a :array_like输入数组。shift :int 或 int类型的tuple元素移位的位置数。如果是一个元组,那么轴必须是一个相同大小的元组,并且每个给定的轴被相应的数字移动。如果值是int 当axis是int类型的tuple,那么对所有给定的轴使用相同的值。axis :int 或 int类型的tuple, 可选元素沿其移动的一个或多个轴。 默认情况下,在移动之前将阵列弄平,然后恢复原始形状
- 返回值:res :ndarray输出数组,shape与a相同
题解3:
思路:使用lambda函数直接以要运行的列表作为参数,将列表从第二个值开始到末尾和第一个值连接,返回列表结果。
python 使用 lambda 来创建匿名函数。
- lambda只是一个表达式,函数体比def简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
- lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
- 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
- lambda函数语法:只包含一个语句:lambda [arg1 [,arg2,.....argn]]:expression
- 例子:(lambda语句中有多少个参数,调用时就要写多少个参数)