将Python列表作为参数,并通过交换其第一个和最后一个元素来修改list参数

时间:2017-11-04 21:57:39

标签: python

这可能是一个无限的数字列表,到目前为止,我无法弄清楚如何切换列表的第一个和最后一个而不知道列表的结束位置。 如果列表是(1,2,3,4,5),则输出应为(5,2,3,4,1) 真的卡住了,第一语言,想知道是否有人可以提供一些帮助!

def swapFirstAndLast(list):
     for position in range(0, len(list)):
         list[position] = 
         list[position] =

2 个答案:

答案 0 :(得分:3)

我假设你并不是指一个无限的数字列表,它们不适合内存,而是一个任何可能大小的列表。好吧,你总是知道Python中列表的最后位置。它总是列表的长度减一:

my_list[len(my_list) - 1]

Python list对象也轻松支持否定索引,因此上述内容可以缩短为:

my_list[-1]

所以要交换第一个和最后一个元素,只需执行:

my_list[0], my_list[-1] = my_list[-1], my_list[0]

注意,以上是python的一个很好的小功能,通常在语言中你不得不使用临时变量交换元素:

temp = my_list[0]
my_list[0] = my_list[-1]
my_list[-1] = temp

答案 1 :(得分:0)

def swap_first_and_last(some_list):
     some_list[0], some_list[-1] = some_list[-1], some_list[0]

将如下工作

>>> L1
[1, 2, 3]
>>> swap_first_and_last(L1)
>>> L1
[3, 2, 1]
>>>