python for문 시간 단축

조회수 1757회
for i in range(0,len(A)):
     indexlist.append(B.index(A[i])) 

이라는 코드구절에서 시간이 많이 잡아먹는것 같습니다. (5초)

다른 코드가 0.xx초 걸린거에 비해 여기서 5초 넘게 잡아먹네요.

이 코드가 한 번만 쓰이는 게 아니라 꽤 여러번 쓰여서 시간을 단축시키고 싶습니다.

len(A)=199이고, len(B)= 749800인데

for문을 안 써서 시간을 줄이는 코드가 있을까요?

참고로 보시다시피 이 코드의 목적은 indexlist를 생성하는 것입니다.

  • 정확히는 for문에서 시간이 많이 걸리는게 아니라 749800 건에 대해서 index를 찾느라 시간이 오래걸리는거 같습니다. 김호원 2020.4.17 16:47
  • 개인적으로 속도 단축을 위해서라면 index보다는 별도의 탐색알고리즘 활용하셔서 최적의 속도를 만드시거나 DBMS의 힘을 빌려보는것도 나쁘지 않을거 같습니다. 김호원 2020.4.17 16:55
  • 그간 올려주신 질문들로 유추해 보건대 mysql 데이터를 파이썬이 받아서 막 어떻게 하는 작업인 거 같습니다만... 저라면 일단 mysql에서 할 수 있는 데까지는 해보겠습니다. 무엇과 무엇을 어떻게 해서 무엇의 인덱스 목록을 만드는 건가요? 엽토군 2020.4.17 17:44
  • a, b 데이터가 뭔가요? colab 이나 github 등을 활용해서 테스트 가능한 코드를 올려보세요. 정영훈 2020.4.18 13:58
  • 답변을 많이 달아주셨는데 지금에서야 확인했네요. 저는 python이 더 빠를 줄 알았는데 mysql이 더 빠른가 보네요 감사합니다! magic0111 2020.4.23 13:44

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)