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

2024-07-02 14:09:37 发布

您现在位置: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] =

Tags: in语言列表forlendef情况position
2条回答

我假设你不是指一个无限的数字列表,它不适合记忆,而是一个任意大小的列表。在Python中,您总是知道列表的最后一个位置。它将始终是列表的长度减去一:

my_list[len(my_list) - 1]

Pythonlist对象还方便地支持负索引,因此上述内容可以缩短为:

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
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]
>>>

相关问题 更多 >