##// END OF EJS Templates
don't use combine option on ucs package...
don't use combine option on ucs package Caused problems with unicode. It seems f9c32fcee337b6560ec31e25fba04cae6021b74a was actually the right fix for the original error, not faf51b858a8c5757944822ee1d75c11367e994f. closes #5129

File last commit:

r13356:0a3c3bee
r15347:376ac6d2
Show More
data.py
37 lines | 1.2 KiB | text/x-python | PythonLexer
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 # encoding: utf-8
"""Utilities for working with data structures like lists, dicts and tuples.
"""
#-----------------------------------------------------------------------------
Matthias BUSSONNIER
update copyright to 2011/20xx-2011...
r5390 # Copyright (C) 2008-2011 The IPython Development Team
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 #
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
Thomas Kluyver
Fix references to xrange
r13356 from .py3compat import xrange
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 def uniq_stable(elems):
"""uniq_stable(elems) -> list
Return from an iterable, a list of all the unique elements in the input,
but maintaining the order in which they first appear.
W. Trevor King
utils.data: Use list comprehension for uniq_stable()...
r9249 Note: All elements in the input must be hashable for this routine
to work, as it internally uses a set for efficiency reasons.
"""
seen = set()
return [x for x in elems if x not in seen and not seen.add(x)]
Brian Granger
Work to address the review comments on Fernando's branch....
r2498
def flatten(seq):
"""Flatten a list of lists (NOT recursive, only works for 2d lists)."""
return [x for subseq in seq for x in subseq]
Thomas Kluyver
Remove dead code in utils.data
r9471
Brian Granger
Work to address the review comments on Fernando's branch....
r2498
def chop(seq, size):
"""Chop a sequence into chunks of the given size."""
Thomas Kluyver
Remove dead code in utils.data
r9471 return [seq[i:i+size] for i in xrange(0,len(seq),size)]
Brian Granger
Work to address the review comments on Fernando's branch....
r2498