反转列表的前n项并将其返回

时间:2016-11-11 22:05:48

标签: python

反转列表的前n项并将其返回。如果n <= 0,则返回空列表。不要消耗超过n个可迭代项。

  >>> reverse(4, ['f', 'o', 'o', 't', 'b', 'a', 'l', 'l'])
  ['t', 'o', 'o', 'f', 'b', 'a', 'l', 'l']



  if n <= len(lst):
  return []
  else:
  for i in range(n):????What next?

2 个答案:

答案 0 :(得分:0)

def my_reverse(num, l):
    if num <= 0:
        return []
    return l[:num][::-1] + l[num:]

# Explanation:
# l[:num]       :    Sliced list with elements between 0 to num
# l[:num][::-1] :    Reverse of slice list
# l[num:]       :    Sliced list with elements from num to end

示例运行:

>>> my_reverse(4, ['f', 'o', 'o', 't', 'b', 'a', 'l', 'l'])
['t', 'o', 'o', 'f', 'b', 'a', 'l', 'l']

答案 1 :(得分:0)

>>> def reverse(n, lst):
        if n <= 0:
            return []
        return lst[:n][::-1] + lst[n:]

>>> reverse(4, ['f', 'o', 'o', 't', 'b', 'a', 'l', 'l'])
['t', 'o', 'o', 'f', 'b', 'a', 'l', 'l']
>>> 

说明:

  • if n <= 0::如果n小于或等于零......
  • return []:返回一个空列表。否则...
  • return lst[:n][::-1]:返回范围n中的所有元素并将其反转。加...
  • lst[n:]:其余元素超出范围n