我试图设计一个代码,该代码将在给定值的索引处反转给定列表。超出值的列表的其余部分将以正确的顺序打印,但我似乎无法完成它。
这是我到目前为止的代码。
def reverse(my_list, value):
lst = []
lst2 = []
for x in range(my_list[0], my_list[value]):
x = my_list[x]
lst2.append(x)
for i in range(len(lst2)-1, -1, -1):
x = lst2[i]
lst.append(x)
for x in range(my_list[value], len(my_list)):
x = my_list[x]
lst.append(x)
print(lst)
如果输入是这个。
reverse([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 5)
输出应为。
[5, 4, 3, 2, 1, 6, 7, 8, 9, 10]
但输出就是这个。
[6, 5, 4, 3, 2, 7, 8, 9, 10]
有人可以帮我确定如何获得所需的输出吗?
答案 0 :(得分:2)
使用切片实现起来会容易得多:
def reverse(my_list, value):
return my_list[:value][::-1] + my_list[value::]
答案 1 :(得分:0)
第一个和第三个循环中的索引是错误的,您必须遍历索引而不是值。写得像这样:
expiresIn: '1440m'
输出:[5,4,3,2,1,6,7,8,9,10]