collections module — py-utilities 0.0.1 documentation

# collections module

## collections_utilities

`py_utilities.collections.collections_utilities.` `flatten`(lst)

  Flattens a list

  Taken from: https://stackoverflow.com/questions/2158395/ flatten-an-irregular-list-of-lists-in-python/17868434#17868434

      >>> list(flatten([1,2,[1],[1,2,3]]))
      [1, 2, 1, 1, 2, 3]

      >>> list(flatten([]))
      []

      >>> list(flatten([1,2,3]))
      [1, 2, 3]

`py_utilities.collections.collections_utilities.` `has_dupes`(iterable)

  Returns true if iterable contains dupes. All values in the iterable need to be hashable

      >>> has_dupes(['1', '2', '3', '3'])
      True

      >>> has_dupes(['1', '2', '3', '4'])
      False

      >>> has_dupes(('1', '1', '3', '4'))
      True

      >>> has_dupes((1, 2, 3, 4))
      False

      >>> has_dupes([])
      False

`py_utilities.collections.collections_utilities.` `index_max`(seq)

  Returns the index of the first occurrence maxima in a sequence

      >>> index_max([1,2,3,4,5,6,1,2,1])
      5

      >>> index_max([9,2,3,4,5,6,1,2,1])
      0

      >>> index_max([])
      Traceback (most recent call last):
          ...
      ValueError: max() arg is an empty sequence

`py_utilities.collections.collections_utilities.` `index_min`(seq)

  Returns the index of the first occurrence minima in a sequence

      >>> index_min([1,2,3,4,5,6,1,2,1])
      0

      >>> index_min([2,2,3,4,5,6,1,2,1])
      6

      >>> index_min([])
      Traceback (most recent call last):
          ...
      ValueError: min() arg is an empty sequence

`py_utilities.collections.collections_utilities.` `unique`(lst)

  Returns the unique values in a list lst

      >>> unique([1,1,1,1,1,1,1])
      [1]

      >>> x = unique([1,1,1,1,1,1,1,2])

      >>> 1 in x
      True

      >>> 2 in x
      True

      >>> len(x)
      2

      >>> x = unique([-1,1,1,1,1,1,1,2])

      >>> 1 in x
      True

      >>> -1 in x
      True

      >>> 2 in x
      True

      >>> len(x)
      3

      >>> x = unique([-1,2,'1'])

      >>> 1 in x
      False

      >>> -1 in x
      True

      >>> 2 in x
      True

      >>> '1' in x
      True

      >>> len(x)
      3

`py_utilities.collections.collections_utilities.` `value_max`(seq)

  Returns the value of the first occurrence maxima in a sequence

      >>> value_max([1,2,3,4,5,6,1,2,1])
      6

      >>> value_max([2,2,3,4,5,6,8,2,9])
      9

      >>> value_max([])
      Traceback (most recent call last):
          ...
      ValueError: max() arg is an empty sequence

`py_utilities.collections.collections_utilities.` `value_min`(seq)

  Returns the value of the first occurrence minima in a sequence

      >>> value_min([1,2,3,4,5,6,1,2,1])
      1

      >>> value_min([2,2,3,4,5,6,8,2,9])
      2

      >>> value_min([])
      Traceback (most recent call last):
          ...
      ValueError: min() arg is an empty sequence