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

1# encoding: utf-8 

2"""Utilities for working with data structures like lists, dicts and tuples. 

3""" 

4 

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#----------------------------------------------------------------------------- 

11 

12 

13def uniq_stable(elems): 

14 """uniq_stable(elems) -> list 

15 

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. 

18 

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)] 

24 

25 

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)] 

29 

30