반응형
Python의 목록에서 일부 값의 첫 번째와 마지막 색인 찾기
다음과 같이 일부 값의 첫 번째 및 마지막 색인을 제공하는 목록의 일부인 내장 메소드가 있습니까?
verts.IndexOf(12.345)
verts.LastIndexOf(12.345)
시퀀스에는 index(value)
첫 번째 발생 인덱스를 반환 하는 메서드 가 있습니다 verts.index(value)
.
verts[::-1]
마지막 색인을 찾기 위해 실행할 수 있습니다 . 여기, 이것은len(verts) - 1 - verts[::-1].index(value)
사용 i1 = yourlist.index(yourvalue)
및i2 = yourlist.rindex(yourvalue).
myvalue
in 의 마지막 발생 색인을 검색하는 경우 mylist
:
len(mylist) - mylist[::-1].index(myvalue) - 1
작은 도우미 기능으로 :
def rindex(mylist, myvalue):
return len(mylist) - mylist[::-1].index(myvalue) - 1
파이썬 목록에는 목록에서 항목 index()
이 처음 나타나는 위치를 찾는 데 사용할 수 있는 메서드가 있습니다 . 참고 list.index()
인상이 ValueError
값이 목록에없는 경우, 그래서 당신이 그것을 포장 할 수 있습니다 try
/ except
:
try:
idx = lst.index(value)
except ValueError:
idx = None
목록에서 항목 의 마지막 발생 위치를 효율적으로 찾으려면 (즉, 반전 된 목록을 만들지 않고)이 함수를 사용할 수 있습니다.
def rindex(lst, value):
for i, v in enumerate(reversed(lst)):
if v == value:
return len(lst) - i - 1 # return the index in the original list
return None
print(rindex([1, 2, 3], 3)) # 2
print(rindex([3, 2, 1, 3], 3)) # 3
print(rindex([3, 2, 1, 3], 4)) # None
이 방법은 위보다 더 최적화 할 수 있습니다.
def rindex(iterable, value):
try:
return len(iterable) - next(i for i, val in enumerate(reversed(iterable)) if val == value) - 1
except StopIteration:
raise ValueError
s.index(x[, i[, j]])
s에서 x의 첫 번째 발생 인덱스 (인덱스 i 이후 및 인덱스 j 이전)
반응형
'IT Share you' 카테고리의 다른 글
응답과 함께 http 상태 코드를 반환하는 Curl (0) | 2020.12.14 |
---|---|
sqlite에 대한 좋은 OO C ++ 래퍼는 무엇입니까 (0) | 2020.12.14 |
jQuery를 설치 하시겠습니까? (0) | 2020.12.14 |
메인 문서의 JavaScript에서 IFrame의 문서 가져 오기 (0) | 2020.12.14 |
ListBox의 맨 아래로 스크롤하는 방법은 무엇입니까? (0) | 2020.12.14 |