當前位置: 首頁>>代碼示例>>Python>>正文


Python itertools.islice方法代碼示例

本文整理匯總了Python中itertools.islice方法的典型用法代碼示例。如果您正苦於以下問題:Python itertools.islice方法的具體用法?Python itertools.islice怎麽用?Python itertools.islice使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在itertools的用法示例。


在下文中一共展示了itertools.islice方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: assert_equal

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def assert_equal(t1, t2, show_num_wrong=3, names=None, msg=''):
    if t1.shape != t2.shape:
        raise AssertionError('Different shapes! {} != {}'.format(t1.shape, t2.shape))
    wrong = t1 != t2
    if not wrong.any():
        return
    if names is None:
        names = ('t1', 't2')
    wrong_idxs = wrong.nonzero()
    num_wrong = len(wrong_idxs)
    show_num_wrong = min(show_num_wrong, num_wrong)
    wrong_idxs = itertools.islice((tuple(i.tolist()) for i in wrong_idxs),
                                  show_num_wrong)
    err_msg = ' // '.join('{}: {}!={}'.format(idx, t1[idx], t2[idx])
                          for idx in wrong_idxs)
    raise AssertionError(('{} != {}: {}, and {}/{} other(s) '.format(
            names[0], names[1], err_msg, num_wrong - show_num_wrong, np.prod(t1.shape)) + msg).strip()) 
開發者ID:fab-jul,項目名稱:L3C-PyTorch,代碼行數:19,代碼來源:pytorch_ext.py

示例2: nlargest

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def nlargest(n, iterable):
    """Find the n largest elements in a dataset.

    Equivalent to:  sorted(iterable, reverse=True)[:n]
    """
    if n < 0:
        return []
    it = iter(iterable)
    result = list(islice(it, n))
    if not result:
        return result
    heapify(result)
    _heappushpop = heappushpop
    for elem in it:
        _heappushpop(result, elem)
    result.sort(reverse=True)
    return result 
開發者ID:war-and-code,項目名稱:jawfish,代碼行數:19,代碼來源:heapq.py

示例3: nsmallest

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def nsmallest(n, iterable):
    """Find the n smallest elements in a dataset.

    Equivalent to:  sorted(iterable)[:n]
    """
    if n < 0:
        return []
    it = iter(iterable)
    result = list(islice(it, n))
    if not result:
        return result
    _heapify_max(result)
    _heappushpop = _heappushpop_max
    for elem in it:
        _heappushpop(result, elem)
    result.sort()
    return result

# 'heap' is a heap at all indices >= startpos, except possibly for pos.  pos
# is the index of a leaf with a possibly out-of-order value.  Restore the
# heap invariant. 
開發者ID:war-and-code,項目名稱:jawfish,代碼行數:23,代碼來源:heapq.py

示例4: demo

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def demo():
    from en.parser.nltk_lite.corpora import conll2000
    from itertools import islice

    print "CONLL Chunked data\n"
    
    print "Raw text:"
    for sent in islice(conll2000.raw(), 0, 5):
        print sent
    print

    print "Tagged text:"
    for sent in islice(conll2000.tagged(), 0, 5):
        print sent
    print

    print "Chunked text:"
    for tree in islice(conll2000.chunked(chunk_types=('NP', 'PP', 'VP')), 0, 5):
        print tree.pp()
    print 
開發者ID:rafasashi,項目名稱:razzy-spinner,代碼行數:22,代碼來源:conll2000.py

示例5: demo

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def demo():
    from en.parser.nltk_lite.corpora import toolbox
    from itertools import islice
    from pprint import pprint

    print 'Raw:'
    pprint(list(islice(toolbox.raw(), 3)))

    print 'Dictionary:'
    pprint(list(islice(toolbox.dictionary(), 3)))

    print 'Dictionary-List:'
    pprint(list(islice(toolbox.dict_list(), 3)))

    print 'Complex test cases, no header'
    pprint(list(toolbox.raw("test.dic")))

    print 'Complex test cases, no header, dictionary'
    pprint(list(toolbox.dictionary("test.dic")))

    print 'Complex test cases, no header, dictionary list'
    pprint(list(toolbox.dict_list("test.dic")))

    print 'Complex test cases, with header'
    pprint(list(toolbox.raw("test.dic", include_header=True))) 
開發者ID:rafasashi,項目名稱:razzy-spinner,代碼行數:27,代碼來源:toolbox.py

示例6: native_concat

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def native_concat(nodes):
    """Return a native Python type from the list of compiled nodes. If the
    result is a single node, its value is returned. Otherwise, the nodes are
    concatenated as strings. If the result can be parsed with
    :func:`ast.literal_eval`, the parsed value is returned. Otherwise, the
    string is returned.
    """
    head = list(islice(nodes, 2))

    if not head:
        return None

    if len(head) == 1:
        out = head[0]
    else:
        out = u''.join([text_type(v) for v in chain(head, nodes)])

    try:
        return literal_eval(out)
    except (ValueError, SyntaxError, MemoryError):
        return out 
開發者ID:remg427,項目名稱:misp42splunk,代碼行數:23,代碼來源:nativetypes.py

示例7: chunkize_serial

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def chunkize_serial(iterable, chunksize, as_numpy=False):
    """
    Return elements from the iterable in `chunksize`-ed lists. The last returned
    element may be smaller (if length of collection is not divisible by `chunksize`).

    >>> print(list(grouper(range(10), 3)))
    [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]

    """
    import numpy
    it = iter(iterable)
    while True:
        if as_numpy:
            # convert each document to a 2d numpy array (~6x faster when transmitting
            # chunk data over the wire, in Pyro)
            wrapped_chunk = [[numpy.array(doc) for doc in itertools.islice(it, int(chunksize))]]
        else:
            wrapped_chunk = [list(itertools.islice(it, int(chunksize)))]
        if not wrapped_chunk[0]:
            break
        # memory opt: wrap the chunk and then pop(), to avoid leaving behind a dangling reference
        yield wrapped_chunk.pop() 
開發者ID:loretoparisi,項目名稱:word2vec-twitter,代碼行數:24,代碼來源:word2vecReaderUtils.py

示例8: test_iterview_infinite

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def test_iterview_infinite():
    loader = LiveLoader('.cache', SourceTest())
    iterview = IteratorView(loader, 'train', infinite=True)
    assert list(map(lambda tp: tp[0], itertools.islice(iterview, 150))) \
        == list(range(100)) + list(range(50)) 
開發者ID:mme,項目名稱:vergeml,代碼行數:7,代碼來源:test_views.py

示例9: test_iterview_random

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def test_iterview_random():
    loader = LiveLoader('.cache', SourceTest())
    iterview = IteratorView(loader, 'train', randomize=True, fetch_size=1)
    assert list(map(lambda tp: tp[0], itertools.islice(iterview, 10))) \
        == [92, 1, 43, 61, 35, 73, 48, 18, 98, 36] 
開發者ID:mme,項目名稱:vergeml,代碼行數:7,代碼來源:test_views.py

示例10: test_iterview_random_fetch_size

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def test_iterview_random_fetch_size():
    loader = LiveLoader('.cache', SourceTest())
    iterview = IteratorView(loader, 'train', randomize=True, fetch_size=10)
    assert list(map(lambda tp: tp[0], itertools.islice(iterview, 10))) \
        == list(range(70, 80)) 
開發者ID:mme,項目名稱:vergeml,代碼行數:7,代碼來源:test_views.py

示例11: test_iterview_random2

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def test_iterview_random2():
    loader = LiveLoader('.cache', SourceTest())
    iterview = IteratorView(loader, 'train', randomize=True, fetch_size=1)
    iterview2 = IteratorView(loader, 'train', randomize=True, random_seed=2601, fetch_size=1)
    assert list(map(lambda tp: tp[0], itertools.islice(iterview2, 10))) \
        != list(map(lambda tp: tp[0], itertools.islice(iterview, 10))) 
開發者ID:mme,項目名稱:vergeml,代碼行數:8,代碼來源:test_views.py

示例12: chunks

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def chunks(data, SIZE=500):
    it = iter(data)
    for i in range(0, len(data), SIZE):
        if isinstance(data, dict):
            yield {k: data[k] for k in islice(it, SIZE)}
        else:
            yield data[i : i + SIZE] 
開發者ID:materialsproject,項目名稱:MPContribs,代碼行數:9,代碼來源:matbench_upload.py

示例13: chunk_map

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def chunk_map(data, SIZE=50):
    """Yield successive n-sized chunks from l."""
    it = iter(data)
    for i in xrange(0, len(data), SIZE):
        yield {k: data[k] for k in islice(it, SIZE)} 
開發者ID:insightfinder,項目名稱:InsightAgent,代碼行數:7,代碼來源:getmetrics_cadvisor.py

示例14: strip_signature

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def strip_signature(txn):
    unsigned_parts = itertools.islice(txn, len(UNSIGNED_TRANSACTION_FIELDS))
    return list(unsigned_parts) 
開發者ID:ethereum,項目名稱:eth-account,代碼行數:5,代碼來源:transactions.py

示例15: stitch

# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import islice [as 別名]
def stitch(parts):
    side = int(math.sqrt(len(parts)))
    if side * side != len(parts):
        raise ValueError(f'Invalid number of parts {len(parts)}')

    rows = []

    # Sort by original position in image
    crops_idx_mapping = _get_crop_idx_mapping(side)
    parts_sorted = (
        part for _, part in sorted(
        enumerate(parts), key=lambda ip: crops_idx_mapping[ip[0]]))

    parts_itr = iter(parts_sorted)  # Turn into iterator so we can easily grab elements
    for _ in range(side):
        parts_row = itertools.islice(parts_itr, side)  # Get `side` number of parts
        row = torch.cat(list(parts_row), dim=3)  # cat on W dimension
        rows.append(row)

    assert next(parts_itr, None) is None, f'Iterator should be empty, got {len(rows)} rows'
    img = torch.cat(rows, dim=2)  # cat on H dimension

    # Validate.
    B, C, H_part, W_part = parts[0].shape
    expected_shape = (B, C, H_part * side, W_part * side)
    assert img.shape == expected_shape, f'{img.shape} != {expected_shape}'

    return img 
開發者ID:fab-jul,項目名稱:L3C-PyTorch,代碼行數:30,代碼來源:auto_crop.py


注:本文中的itertools.islice方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。