Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/IPython/utils/data.py: 50%
6 statements
« prev ^ index » next coverage.py v7.4.4, created at 2024-04-20 06:09 +0000
« prev ^ index » next coverage.py v7.4.4, created at 2024-04-20 06:09 +0000
1# encoding: utf-8
2"""Utilities for working with data structures like lists, dicts and tuples.
3"""
5#-----------------------------------------------------------------------------
6# Copyright (C) 2008-2011 The IPython Development Team
7#
8# Distributed under the terms of the BSD License. The full license is in
9# the file COPYING, distributed as part of this software.
10#-----------------------------------------------------------------------------
13def uniq_stable(elems):
14 """uniq_stable(elems) -> list
16 Return from an iterable, a list of all the unique elements in the input,
17 but maintaining the order in which they first appear.
19 Note: All elements in the input must be hashable for this routine
20 to work, as it internally uses a set for efficiency reasons.
21 """
22 seen = set()
23 return [x for x in elems if x not in seen and not seen.add(x)]
26def chop(seq, size):
27 """Chop a sequence into chunks of the given size."""
28 return [seq[i:i+size] for i in range(0,len(seq),size)]