[PYTHON] x보다 큰 첫번째 파이썬리스트 인덱스?
PYTHONx보다 큰 첫번째 파이썬리스트 인덱스?
x보다 큰 목록에서 첫 번째 색인을 찾는 가장 Python 적 방법은 무엇입니까?
예를 들어,
list = [0.5, 0.3, 0.9, 0.8]
함수
f(list, 0.7)
돌아올거야.
2.
해결법
-
==============================
1.
next(x[0] for x in enumerate(L) if x[1] > 0.7)
-
==============================
2.목록이 정렬 된 경우 bisect_left (alist, value)는 큰 목록의 경우 다음 (xi = value 인 경우 열거 (alist)에서 i, x는 x)보다 빠릅니다.
목록이 정렬 된 경우 bisect_left (alist, value)는 큰 목록의 경우 다음 (xi = value 인 경우 열거 (alist)에서 i, x는 x)보다 빠릅니다.
-
==============================
3.
filter(lambda x: x>.7, seq)[0]
-
==============================
4.
>>> alist= [0.5, 0.3, 0.9, 0.8] >>> [ n for n,i in enumerate(alist) if i>0.7 ][0] 2
-
==============================
5.
for index, elem in enumerate(elements): if elem > reference: return index raise ValueError("Nothing Found")
-
==============================
6.다른 것:
다른 것:
map(lambda x: x>.7, seq).index(True)
-
==============================
7.내 목록이 너무 길 때도 비슷한 문제가있었습니다. 이해력 또는 필터 기반 솔루션이 전체 목록에 포함됩니다. itertools.takewhile은 조건이 처음 false가되면 루프를 중단합니다.
내 목록이 너무 길 때도 비슷한 문제가있었습니다. 이해력 또는 필터 기반 솔루션이 전체 목록에 포함됩니다. itertools.takewhile은 조건이 처음 false가되면 루프를 중단합니다.
from itertools import takewhile def f(l, b): return len([x for x in takewhile(lambda x: x[1] <= b, enumerate(l))]) l = [0.5, 0.3, 0.9, 0.8] f(l, 0.7)
-
==============================
8.
>>> f=lambda seq, m: [ii for ii in xrange(0, len(seq)) if seq[ii] > m][0] >>> f([.5, .3, .9, .8], 0.7) 2
from https://stackoverflow.com/questions/2236906/first-python-list-index-greater-than-x by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Python을 사용하여 JSON 데이터를 파일로 멋지게 인쇄 (0) | 2018.10.21 |
---|---|
[PYTHON] numpy 배열의 n 번째 항목마다 서브 샘플링 (0) | 2018.10.21 |
[PYTHON] 파이썬으로 모듈을 "다시 가져 오는"다음에 코드를 가져온 후에 변경하는 방법 (0) | 2018.10.21 |
[PYTHON] 파이썬에서 클래스에 대한 파일 경로를 얻으려면 어떻게해야합니까? (0) | 2018.10.21 |
[PYTHON] 파이썬 : 파일을 표준 출력으로 출력하기 (0) | 2018.10.21 |