python中的slice(未排序)数组值

BCS*_*BCS 1 python arrays slice

给定数组,a = [1,1,12,3,5,8,13,21]我可以切除前3个元素,如a[:3] 给予[1,1,2].我想要的是切断vlaue的元素i(例如,如果i=8我想要[1,1,12,3,5,8][1,1,12,3,5](我可以使用其中任何一个)).

这有效:

return a[:a.index(i)]
Run Code Online (Sandbox Code Playgroud)

但只有我给它一个数组中的值.

是否有一种干净的内置方式来做这件事,对缺失的价值案例做了些什么?

Mik*_*ham 5

  1. 那是一个list.

  2. 尝试

    >>> a = [1,1,2,3,5,8,13,21]
    >>> import itertools
    >>> for x in itertools.takewhile(lambda val: val != 8, a):
    ...     print x
    ...
    1
    1
    2
    3
    5
    
    Run Code Online (Sandbox Code Playgroud)

  • @BCS:换句话说,你不关心_what_你回来了,你只想避免异常.那你为什么不只是_catch_例外? (2认同)