2013-10-30 3 views
1

각 요소는 연관된 타임 스탬프가있는 이벤트 인 파이썬으로 이벤트 목록을 구현해야합니다. 수행해야하는 작업은 본질적으로 올바른 순서로 삽입 (타임 스탬프 감소)하고 작은 시작 시간으로 이벤트를 검색하는 것입니다.이벤트 목록 파이썬의 데이터 구조

저는 bisect 모듈을 알고 있지만 목록에 임의의 항목을 삽입 할 수 없습니다.

  • 모든 타임 스탬프
  • 으로 키와 타임 스탬프 ANS 이벤트와 사전을 포함하는 양분 목록 : 이런 이유로 나는 어쩌면 내가 두 개의 서로 다른 파이썬 데이터 구조와 이벤트 목록을 구현할 수 있다고 생각

삽입 및 검색은 간단합니다.

더 효율적인 방법이 있다고 생각하십니까?

+2

[힙 대기열] (http://docs.python.org/2/library/heapq.html)이 원하는 것일 수 있습니다. – fjarri

+0

??? bisect.insort를 해봤습니까? 자신의 객체를 bisect에 삽입하려는 경우 bisect가 사용자 정의 클래스 인스턴스를 정렬하는 방법을 알 수 있도록 '__le__'과 같은 비교 연산자를 구현해야합니다. 얼마 전에 필자는 필자가 설명하는 방식으로 bisect를 사용하는 이산 시뮬레이션 패키지 인 simpy를 사용했다. – PaulMcG

답변

2

@Bogdan이 제시 한 바와 같이 heap queue으로 가거나 더 많은 사전 목적으로 sched을 사용할 수 있습니다.