How to trim a list in Python

后端 未结 4 622
轮回少年
轮回少年 2020-12-14 05:48

Suppose I have a list with X elements

[4,76,2,8,6,4,3,7,2,1...]

I\'d like the first 5 elements. Unless it has less than 5 elements.

<
相关标签:
4条回答
  • 2020-12-14 06:22

    To trim a list in place without creating copies of it, use del:

    >>> t = [1, 2, 3, 4, 5]
    >>> # delete elements starting from index 4 to the end
    >>> del t[4:]
    >>> t
    [1, 2, 3, 4]
    >>> # delete elements starting from index 5 to the end
    >>> # but the list has only 4 elements -- no error
    >>> del t[5:]
    >>> t
    [1, 2, 3, 4]
    >>> 
    
    0 讨论(0)
  • 2020-12-14 06:22
    >>> [1,2,3,4,5,6,7,8,9][:5]
    [1, 2, 3, 4, 5]
    >>> [1,2,3][:5]
    [1, 2, 3]
    
    0 讨论(0)
  • 2020-12-14 06:27

    You just subindex it with [:5] indicating that you want (up to) the first 5 elements.

    >>> [1,2,3,4,5,6,7,8][:5]
    [1, 2, 3, 4, 5]
    >>> [1,2,3][:5]
    [1, 2, 3]
    >>> x = [6,7,8,9,10,11,12]
    >>> x[:5]
    [6, 7, 8, 9, 10]
    

    Also, putting the colon on the right of the number means count from the nth element onwards -- don't forget that lists are 0-based!

    >>> x[5:]
    [11, 12]
    
    0 讨论(0)
  • 2020-12-14 06:27
    l = [4,76,2,8,6,4,3,7,2,1]
    l = l[:5]
    
    0 讨论(0)
提交回复
热议问题