가장 빨리 여부를 확인할 수 있는 값을 바뀌엇어요
가장 빠른 길은 지정하십시오. 값을 다운로드되었는지 존재하는 목록 (수백만 개의 값을 바뀌엇어요 항목이없습니다) 및 그 index) 는?
내가 알고 있는 모든 값을 고유하도록 예제에서와 목록에 있다.
- I 시도하시겠습니까 :* (3.8 초 내 실제 코드) 는 첫 번째 방법은
a = [4,2,3,1,5,6]
if a.count(7) == 1:
b=a.index(7)
"Do something with variable b"
- I 는 두 번째 방법은 시도하시겠습니까 (2 배 더 빠른: 1.9 초 내 진짜 코드) *
a = [4,2,3,1,5,6]
try:
b=a.index(7)
except ValueError:
"Do nothing"
else:
"Do something with variable b"
- 제안된 메소드가 스택 오버플로입니다 사용자 (2.74 초 내 진짜 코드) *
a = [4,2,3,1,5,6]
if 7 in a:
a.index(7)
내 첫 번째 방법은 크게 두 번째 방법은 실제 코드, 3.81 삼성전자와 1.88 초 걸린다.
39 의 it& 좋은 개선, 하지만.
39 m a beginner i& 함께 있을 수 있고, 파이썬, 같은 방법으로 셨으며 및 저장 / 스크립팅하는 빠른 처리 시간이 더?
- 내 application:* 대한 자세한 설명
내가 할 수 있는 블렌더 apiu 액세스함으로써 입자의 목록:
particles = [1, 2, 3, 4, etc.]
여기에서 I 액세스하려면 particle& # 39 의 위치:
particles[x].location = [x,y,z]
내가 이웃이 있을 경우 각 입자의 위치 및 테스트 검색을 통해 각 입자가 같은 있습니다.
if [x+1,y,z] in particles.location
"Find the identity of this neighbour particle in x:the particle's index
in the array"
particles.index([x+1,y,z])
725
14
맑고, 가장 빠른 길일.
또한 '세트' (isp) 를 사용하여 고려해보십시오 목록에서 설정하는 것보다 시간이 더 걸릴 수 있지만, 빠른 맴버십을 테스트 구할 것이다. 벤치마킹 할 수 있는 유일한 방법은 특정 는 것. (이 또한 필요한 작업에 따라 달라집니다.)
다른 사람이 ',' 에서 언급된 바와 같이 매우 느린 대규모 열거합니다 수 있습니다. 다음은 ',' 세트 '와' 양분하다 '에서 "이라며" 에 대한 비교. 시간 (초) 가 로그에서는 기록하십시오 배율입니다.
! [입력하십시오. 이미지 여기에 설명을] [1]
코드는 테스트:
['세트'] [1] 항목을 넣어 수 있습니다. 조회를 설정되었습니다 매우 효율적이다.
종료기:
39 의 편집하십시오 셀명 말할 수 있는 you& 내려받습니다 색인입니다; d 같은 요소. 죄송합니다. 세트 개념이 없는 요소 포지셔닝하십시오. 대체 이 사전 정렬 사용할 때마다 사용자의 목록 및 이진 탐색 요소를 찾아야 합니다.
[1]: http://docs.python.org/library/stdtypes.html # 추상형데이터타입 설정되었습니다 프로첸스트 설정되었습니다
내가 믿을 수 있는 가장 빠른 방법은 다운로드되었는지 선택한 값은 어레이입니다.
이렇게 하면 좋은 아이디어 있으면 이벤트여야만 doesn& # 39, 우리가 할 수 있는 t change it 부품 및 카타시안 딕트 () 는 한 번 사용 후 거듭했다. 만약 a 는 바꼈소, 자세히 설명하는 제공하십시오 너희는너희가 거지.
이 말은 응용 프로그램을 사용할 수 있는 지정값이 게인에서 블룸 필터 데이터 구조.
블룸 필터 조회, 한 마디로 말할 수 없는 경우 말해둘꼐요 세트의 값은 매우 빠르게 있습니다. 그렇지 않으면 속도가 조회 할 수 있는 값을 얻을 수 있을 것으로 색인입니다 지정값이 명단요 그래서 응용 프로그램의 경우, " 내려받습니다 found" 경향이 있지 않습니다. 그 결과 훨씬 더 자주 " found"; 블룸 필터 추가하여 속도를 결과가 나타날 수 있습니다.
자세한 내용은 어떻게 블룸 필터는, 웹 검색 优秀 개요입니다 위키백과 는 파이썬 블룸 필터 library" "; 적어도 몇 유용한 구현을 제공할 것이다.
이 점을 유념하십시오 '평등' 의 테스트 ('=') 뿐 아니라 연산자입니다 아이디 ('는') 에 대한 '의' 논리학 'list 는 거의 동등한 수준의 다음 (it& # 39 의 파이썬 표시되어도 스피통 에서 C 로 짜여진 아니라 실제로 적어도):
>. 요소에 대한 s: >. 만약 요소는 대상: >. # 빠른 확인할지 아이디 한다는 것은 >. 진정한 반품하십시오. >. 만약 요소 = 대상: >. # 느린 확인할지 실제 평등 >. 진정한 반품하십시오. >. 거짓값 반품하십시오.
하지만 대부분의 경우 이 상세 정보는 관련이 없는 상황에 따라 수도 있지만, 예를 들어, '속성' 는 파이썬 초보 깜짝 놀라게 한 것은 남겨두십시오 누마피.난 있다 없는 비유하 자체에 대한:
이런 특이한 구별할 수 있는 건 ' ()' 같은 사용할 수 있습니다.
'의' 논리학 ' ()' 와 '목록 기록하십시오 대한 모든 것:
그러나 이것이 내가 강조하십시오 모서리입니다 경우 대부분의 경우 '과' 에서 작동자 매우 최적화 및 정확히요 그리웠댔지 물론 (통칭 '목록' 또는 '세트' 를 통해).
사용하거나 'contains':
코드, 그러나 매우 빠른 검색을 위해 알고리즘입니다 아닙니다.
목록 및 그 가치를 찾고자 하는 경우, 이 숫자를 모두 무척 간단합니다. 만약 문장열: 아래에는:
또한, 필요한 경우 원래 위치를 니 번호 여바바 이에 대한 두 번째, 인덱스 컬럼.
이 방법을 사용할 수 없게 될 경우 목록은 숫자, 그리고 있지만, 여전히 빠른 비교 / 수 있는 함수를 정의하여 써줬지 주문하십시오 할 수 있습니다.
물론 이 요구를 있지만 이 같은 투자 확대를 위한 목록을 확인, 자꾸 정렬할지 () 메서드를 재사용합니다 그만한 가치가 있을 수 있습니다.
39 의 속도 향상 솔루션에 대한 큰 @winston Ewert& 익올때 있지만, 매우 큰 열거합니다 이 스택 오버플로 오토메이티드 이 try:/except:/else 나타냅니다. 그러나 분기로의 chunghwa 될 경우 종종 도달했음 둔화됐다. ' ()' 방법을 활용할 수 있는 대안은 이제 딕트:
"' a = [4.2,3.1,5.6]
인덱스화할 딕트 = (x, y 에 대해 열거합니다. (x, y) (a))
b = 이네스트제 (7, 없음) 만약 b 가 없는 없음: 뭔가 b" 가변적입니다 함께 "; "'
이 방법은 대비하여 '그냥' 이제 (key, 기본), t # 39 의 딕트 작성하더라도 can& 때 중요한 것입니다. , 는 χ02 경우 키 값을 되돌려줍니다 (딕트 것과 ' [핵심]') 이 있지만, 그렇지 않은 경우 () '' 이제 너회의 되돌려줍니다 기본값입니다 (here '없음'). 이 경우 해당 사탄들 해야 합니다 'a' 의 기본 않을 것입니다.
처음 질문으로 없었다.
>. 가장 빠른 길은 지정하십시오. 값을 다운로드되었는지 존재하는 바뀌엇어요 (목록 >. 수백만 개의 값을 항목이없습니다) 및 그 index) 는?
따라서 다음 두 가지 사항을 찾기:
백업이었습니다 항목이 목록, 1. 2. 지정하십시오. 인덱스 (목록에서 경우).
나는 이 모든 경우에, 추가된 인덱스화합니다 @xslittlegrass 수정되었음 향해, 연산 코드를 추가로 메서드입니다.
! [입력하십시오. 이미지 여기에 설명을] [1]
흥미롭게도 이 및 시도하시겠습니까 설정되었습니다 avamer 방식이 시간.
이 협력했습니다 가져다줄래요: (목록 번역, 한 줄 광고문)
내가 가진 모든 항목 및 list_to_search_in 'a' 와 'list_from_which_to_search indexe 반품하십시오 있는 항목의' 싶었다.
이 인덱스를 되돌려줍니다 좋은 목록.
가져다줄래요 전송되었기 0.030 초 (실제), 초 (사용자), 그리고 0.026 0.004 초 (시스템).
코드 확인하기 위해 존재하는 두 요소 시스템을스토리지 시스템을 제품 는 k: