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)
但只有我给它一个数组中的值.
是否有一种干净的内置方式来做这件事,对缺失的价值案例做了些什么?
那是一个list.
尝试
>>> 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)