관리-도구
편집 파일: intranges.cpython-36.pyc
3 �Pf� � @ s0 d Z ddlZdd� Zdd� Zdd� Zd d � ZdS )a Given a list of integers, made up of (hopefully) a small number of long runs of consecutive integers, compute a representation of the form ((start1, end1), (start2, end2) ...). Then answer the question "was x present in the original list?" in time O(log(# runs)). � Nc C s� t | �}g }d}xrtt|��D ]b}|d t|�k rL|| ||d d krLq||d |d � }|jt|d |d d �� |}qW t|�S )a Represent a list of integers as a sequence of ranges: ((start_0, end_0), (start_1, end_1), ...), such that the original integers are exactly those x such that start_i <= x < end_i for some i. Ranges are encoded as single integers (start << 32 | end), not as tuples. � r ���r )�sorted�range�len�append� _encode_range�tuple)Zlist_Zsorted_list�rangesZ last_write�iZ current_range� r �/usr/lib/python3.6/intranges.py�intranges_from_list s r c C s | d>