我需要设计一个将int列表作为参数的函数,在该列表中我们会看到它将具有某个值v的最后一个元素,然后我们从甲板顶部取v卡并将它们放在上面甲板上最底层的牌。
以下是一个例子:
{{1}}
答案 0 :(得分:1)
我相信这样做
def insert_top_to_bottom(test_list, v):
return test_list[v : -1] + test_list[:v] + [test_list[-1]]
test_list = [1, 28, 3, 4, 27, 8, 7, 6, 5]
test_list = insert_top_to_bottom(test_list, 5)
print test_list
答案 1 :(得分:1)
这是我的尝试,但下次你应该展示自己的尝试。 请注意,我没有包含任何类型的检查或避免错误。只是基础知识。
def top_to_bottom(l):
last = l[len(l)-1]
move_these = l[:last]
move_these.append(l[len(l)-1])
del l[:last]
del l[len(l)-1]
l.extend(move_these)
我希望我能提供帮助。
修改强>
我没有让它成为单行功能,所以你可以更好地理解它。 既然你问过,这里有一些关于切片的解释。
my_list [x:y]是一个基本切片。这会将my_list从索引x输出到(但不包括索引y)。
您可以遗漏任何一个,这将尽可能地填补该部分。 例如,使用
my_list[:5]
将从头开始给你my_list(但不包括!)索引5。 如果列表是[0,1,2,3,4,5,6],它将给出[0,1,2,3,4]。如果你想从某个索引中获取一个列表,直到结束,你就会忽略“' y'部分。像这样:
my_list[3:]
在前面列出的列表中应用它,你会得到[3,4,5,6]。
我希望你理解!如果您还有其他问题,请评论。