我是这个编码平台的新手。
所以我有一项工作要做,就是递归地反转数组中元素的顺序。
所以这就是我所做的:
A= [4,2,7,3,9,1]
def rev(A):
if (len(A)==1):
return A[0]
else:
return A[-1],pri(A[:-1])
print (rev(A))
输出:
(1,(4,(2,(7,(3,9)))))
所以我不明白我做错了什么,如果你能做到这一点我想做输出;而不是()的东西。 我必须在python 3.0或更高版本中执行该程序。
谢谢。
答案 0 :(得分:2)
你几乎得到了它。
问题是你返回int
(在第一个return语句中)和一个元组(在第二个return语句中)而不是列表:
li = [1, 2, 3]
def rev(li):
if len(li) == 1:
return [li[0]]
return [li[-1]] + rev(li[:-1])
print('; '.join(map(str, rev(li))))
已编辑以反映所需的输出格式。
答案 1 :(得分:0)
Python中已存在的函数:
a = [4,2,7,3,9,1]
print a[::-1]
# [1, 9, 3, 7, 2, 4]
a.reverse()
print a
# [1, 9, 3, 7, 2, 4]
答案 2 :(得分:0)
执行以下操作:
public class ReservationViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
// each data item is just a string in this case
CardView cardView;
public ReservationViewHolder(View v) {
super(v);
cardView = (CardView) v.findViewById(R.id.cv);
cardView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
int position = getAdapterPosition();
// do what you want...
}
}
如下工作:
A= [4,2,7,3,9,1]
def rev(A):
if len(A)==1:
return A[0]
lst = rev(A[:-1])
return str(A[-1]) + ';' + str(lst)
print rev(A)