返回反转后的列表
我有这样一个问题:
写一个叫做 reverse3(nums)
的函数,它接收一个长度为3的整数列表 nums
,并返回一个新列表,里面的元素顺序是反过来的,也就是说 [1, 2, 3] 变成 [3, 2, 1]。
我这样解决的:
def reverse3(nums):
return [nums[2]] + [nums[1]] + [nums[0]]
不过,答案其实很简单。我的主要问题是,当我不知道 nums
里有多少个整数时,怎么把 nums
反转呢?
我有这个方法:
nums[::-1]
这确实能返回反转后的 nums
,但我想找一种不同的方法。可能是用循环?
我试过这个:
def reverse3(nums):
return reversed(nums)
结果是:<list_reverseiterator object at 0x10151ff90>
#这是个什么东西?
2 个回答
0
列表里有一个内置的反转功能
list.reverse()
所以你可以使用这个功能
nums.reverse()
不过,如果你想自己写一个反转的功能,你就需要把列表倒着遍历,然后放到另一个列表里。
大概是这样的-
def revList(nums)
i = len(mums) -1
while i >= 0:
revNums[i] = nums.pop()
i = i - 1
return(revNums)