##// END OF EJS Templates
Merge pull request #3525 from minrk/utc...
Merge pull request #3525 from minrk/utc Fix basic timezone info minor tweaks to jsonutil, to include timezone info if available add IPython.utils.tz, which just has basic info for making utcnow(), etc. include tzinfo in the datetime object use this tzinfo in the last_modified keys in notebook managers, which fixes Firefox's timezone offset for checkpoints

File last commit:

r9471:ea7d7a7e
r11187:b5297e0b merge
Show More
data.py
35 lines | 1.1 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""Utilities for working with data structures like lists, dicts and tuples.
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2011 The IPython Development Team
#
# 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.
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)]
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]
def chop(seq, size):
"""Chop a sequence into chunks of the given size."""
return [seq[i:i+size] for i in xrange(0,len(seq),size)]