See the Python Cookbook for a long discussion of many ways to do this:
- https://code.activestate.com/recipes/52560/
+ https://github.com/ActiveState/code/tree/master/recipes/Python/52560_Remove_duplicates/recipe-52560.py
If you don't mind reordering the list, sort it and then scan from the end of the
list, deleting duplicates as you go::
scripts with a localhost server, I have to prevent urllib from using
the proxy.
.. [#] urllib opener for SSL proxy (CONNECT method): `ASPN Cookbook Recipe
- <https://code.activestate.com/recipes/456195/>`_.
+ <https://github.com/ActiveState/code/tree/master/recipes/Python/456195_urrlib2_opener_SSL_proxy_CONNECT/recipe-456195.py>`_.
.. seealso::
`SortedCollection recipe
- <https://code.activestate.com/recipes/577197-sortedcollection/>`_ that uses
+ <https://github.com/ActiveState/code/tree/master/recipes/Python/577197_SortedCollection/recipe-577197.py>`_ that uses
bisect to build a full-featured collection class with straight-forward search
methods and support for a key-function. The keys are precomputed to save
unnecessary calls to the key function during searches.
.. seealso::
- * `OrderedSet recipe <https://code.activestate.com/recipes/576694/>`_ for an
+ * `OrderedSet recipe <https://github.com/ActiveState/code/tree/master/recipes/Python/576694_OrderedSet/recipe-576694.py>`_ for an
example built on :class:`MutableSet`.
* For more about ABCs, see the :mod:`abc` module and :pep:`3119`.
:attr:`~collections.ChainMap.parents` property.
* The `Nested Contexts recipe
- <https://code.activestate.com/recipes/577434/>`_ has options to control
+ <https://github.com/ActiveState/code/tree/master/recipes/Python/577434_Nested_contexts__chamapping/recipe-577434.py>`_ has options to control
whether writes and other mutations apply only to the first mapping or to
any mapping in the chain.
* A `greatly simplified read-only version of Chainmap
- <https://code.activestate.com/recipes/305268/>`_.
+ <https://github.com/ActiveState/code/tree/master/recipes/Python/305268_Chained_map_lookups/recipe-305268.py>`_.
:class:`ChainMap` Examples and Recipes
work.
* `Simple version control recipe
- <https://code.activestate.com/recipes/576729/>`_ for a small application
+ <https://github.com/ActiveState/code/tree/master/recipes/Python/576729_Simple_Version_Control/recipe-576729.py>`_ for a small application
built with :class:`SequenceMatcher`.
For further discussion and two alternative approaches, see the `ASPN cookbook
recipes for accurate floating point summation
- <https://code.activestate.com/recipes/393090/>`_\.
+ <https://github.com/ActiveState/code/tree/master/recipes/Python/393090_Binary_floating_point_summatiaccurate_full/recipe-393090.py>`_\.
.. function:: gcd(*integers)
`Complementary-Multiply-with-Carry recipe
- <https://code.activestate.com/recipes/576707/>`_ for a compatible alternative
+ <https://github.com/ActiveState/code/tree/master/recipes/Python/576707_Long_period_random_number/recipe-576707.py>`_ for a compatible alternative
random number generator with a long period and comparatively simple update
operations.
.. seealso::
- `Persistent dictionary recipe <https://code.activestate.com/recipes/576642/>`_
+ `Persistent dictionary recipe <https://github.com/ActiveState/code/tree/master/recipes/Python/576642_Persistent_dict_multiple_standard_file/recipe-576642.py>`_
with widely supported storage formats and having the speed of native
dictionaries.
.. seealso::
- * The `linspace recipe <http://code.activestate.com/recipes/579000/>`_
+ * The `linspace recipe <https://github.com/ActiveState/code/tree/master/recipes/Python/579000_Equallyspaced_numbers_linspace/recipe-579000.py>`_
shows how to implement a lazy version of range suitable for floating
point applications.
additional garbage collector overhead if the object is managed by the garbage
collector.
- See `recursive sizeof recipe <https://code.activestate.com/recipes/577504>`_
+ See `recursive sizeof recipe <https://github.com/ActiveState/code/tree/master/recipes/Python/577504_Compute_Memory_footprint_object_its/recipe-577504.py>`_
for an example of using :func:`getsizeof` recursively to find the size of
containers and all their contents.
for download. Once you begin releasing code, you can register it here so that
others can find it.
-* https://code.activestate.com/recipes/langs/python/: The Python Cookbook is a
+* https://github.com/ActiveState/code/tree/master/recipes/Python: The Python Cookbook is a
sizable collection of code examples, larger modules, and useful scripts.
Particularly notable contributions are collected in a book also titled Python
Cookbook (O'Reilly & Associates, ISBN 0-596-00797-3.)
(Contributed by Raymond Hettinger and incorporating design ideas from Jim
Baker, Miki Tebeka, and Nick Coghlan; see `recipe 498245
- <https://code.activestate.com/recipes/498245>`_\, `recipe 577479
- <https://code.activestate.com/recipes/577479>`_\, :issue:`10586`, and
+ <https://github.com/ActiveState/code/tree/master/recipes/Python/498245_LRU_and_LFU_cache_decorators/recipe-498245.py>`_\, `recipe 577479
+ <https://github.com/ActiveState/code/tree/master/recipes/Python/577479_Simple_caching_decorator/recipe-577479.py>`_\, :issue:`10586`, and
:issue:`10593`.)
* The :func:`functools.wraps` decorator now adds a :attr:`__wrapped__` attribute
# http://en.wikipedia.org/wiki/Multiset
# http://www.gnu.org/software/smalltalk/manual-base/html_node/Bag.html
# http://www.demo2s.com/Tutorial/Cpp/0380__set-multiset/Catalog0380__set-multiset.htm
- # http://code.activestate.com/recipes/259174/
+ # https://github.com/ActiveState/code/tree/master/recipes/Python/259174_bag_collection_class/recipe-259174.py
# Knuth, TAOCP Vol. II section 4.6.3
def __init__(self, iterable=None, /, **kwds):
# 2) Made multiple passes over the data.
# 3) Made more comparisons in common cases (small k, large n, semi-random input).
# See the more detailed comparison of approach at:
-# http://code.activestate.com/recipes/577573-compare-algorithms-for-heapqsmallest
+# https://github.com/ActiveState/code/tree/master/recipes/Python/577573_Compare_algorithms/recipe-577573.py
def nsmallest(n, iterable, key=None):
"""Find the n smallest elements in a dataset.
def msum(iterable):
"""Full precision summation. Compute sum(iterable) without any
intermediate accumulation of error. Based on the 'lsum' function
- at http://code.activestate.com/recipes/393090/
+ at https://github.com/ActiveState/code/tree/master/recipes/Python/393090_Binary_floating_point_summatiaccurate_full/recipe-393090.py
"""
tmant, texp = 0, 0
exactly once; vertices not part of a SCC are returned as
singleton sets.
- From http://code.activestate.com/recipes/578507/.
+ From https://github.com/ActiveState/code/tree/master/recipes/Python/578507_Strongly_connected_components_directed/recipe-578507.py.
"""
identified: Set[str] = set()
stack: List[str] = []
{B, C}
{A}
- From http://code.activestate.com/recipes/577413/.
+ From https://github.com/ActiveState/code/tree/master/recipes/Python/577413_Topological_Sort/recipe-577413.py.
"""
# TODO: Use a faster algorithm?
for k, v in data.items():