将列表反转回来

时间:2014-10-25 06:33:58

标签: python list python-3.x reversing

我有这个问题:

写一个函数reverse3(nums),它取一个名为nums的长度为3的整数列表,并以相反的顺序返回一个包含元素的新列表,因此[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> #location?

2 个答案:

答案 0 :(得分:0)

列表具有内置的反向功能

list.reverse()

所以你可以使用

nums.reverse()

但是,如果你想编写自己的函数,你需要对另一个列表进行反向迭代。

像 -

def revList(nums)
   i = len(mums) -1
   while i >= 0:
      revNums[i] = nums.pop()
      i = i - 1
   return(revNums)

答案 1 :(得分:0)

reversed返回一个迭代器。如果要获取列表对象,请使用list

>>> def reverse3(nums):
...     return list(reversed(nums))
... 
>>> reverse3([4,5,6])
[6, 5, 4]