##// END OF EJS Templates
set_next_input: squash multiple calls from the same cell execution...
set_next_input: squash multiple calls from the same cell execution * When calling multiple times set_next_input in a single cell execution, we only keep the last input. * Added generic support to PayloadManager for updating (instead of appending) payloads from a given 'source'. Closes #1349

File last commit:

r9471:ea7d7a7e
r12931:654c9fe5
Show More
data.py
35 lines | 1.1 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.
#-----------------------------------------------------------------------------
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