Python有没有返回没有前n个元素的列表的方法?

Jon*_*nes -3 python

说我有[1,2,3,4,5,6].我想要[3,4,5,6].

目前我在做:

l = [1, 2, 3, 4, 5, 6]
l[-(len(l) - n):]
Run Code Online (Sandbox Code Playgroud)

我不熟悉Python风格,但这看起来很糟糕.

idj*_*jaw 8

是的,通过切片:

>>> n = 2
>>> l = [1, 2, 3, 4, 5, 6]
>>> l[n:]
[3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

阅读本教程,以进一步了解如何操作支持切片的Python数据结构.

如评论中所述,获取创意并将其置于函数中:

def slice_it(l, n):
    return l[n:]
Run Code Online (Sandbox Code Playgroud)

演示:

>>> slice_it(l, 2)
[3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

并且作为lambda,如评论中所示:

sliced_list = lambda l, n: l[n:]
Run Code Online (Sandbox Code Playgroud)

演示:

>>> sliced_list(l, 2)
[3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

  • 或者,如果他想要一个函数`first_nth = lambda lst,n:lst [n:]`. (2认同)