summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/collections.rst12
-rw-r--r--Doc/library/datetime.rst18
2 files changed, 30 insertions, 0 deletions
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 14539be..018f92a 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -958,3 +958,15 @@ in conjuction with sorting to make a sorted dictionary::
The new sorted dictionaries maintain their sort order when entries
are deleted. But when new keys are added, the keys are appended
to the end and the sort is not maintained.
+
+It is also straight-forward to create an ordered dictionary variant
+that the remembers the order the keys were *last* inserted.
+If a new entry overwrites an existing entry, the
+original insertion position is changed and moved to the end::
+
+ class LastUpdatedOrderedDict(OrderedDict):
+ 'Store items is the order the keys were last added'
+ def __setitem__(self, key, value):
+ if key in self:
+ del self[key]
+ OrderedDict.__setitem__(self, key, value)
diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst
index 53d416a..21a2b64 100644
--- a/Doc/library/datetime.rst
+++ b/Doc/library/datetime.rst
@@ -235,6 +235,14 @@ Supported operations:
| ``abs(t)`` | equivalent to +\ *t* when ``t.days >= 0``, and|
| | to -*t* when ``t.days < 0``. (2) |
+--------------------------------+-----------------------------------------------+
+| ``str(t)`` | Returns a string in the form |
+| | ``[D day[s], ][H]H:MM:SS[.UUUUUU]``, where D |
+| | is negative for negative ``t``. (5) |
++--------------------------------+-----------------------------------------------+
+| ``repr(t)`` | Returns a string in the form |
+| | ``datetime.timedelta(D[, S[, U]])``, where D |
+| | is negative for negative ``t``. (5) |
++--------------------------------+-----------------------------------------------+
Notes:
@@ -250,6 +258,16 @@ Notes:
(4)
-*timedelta.max* is not representable as a :class:`timedelta` object.
+(5)
+ String representations of :class:`timedelta` objects are normalized
+ similarly to their internal representation. This leads to somewhat
+ unusual results for negative timedeltas. For example:
+
+ >>> timedelta(hours=-5)
+ datetime.timedelta(-1, 68400)
+ >>> print(_)
+ -1 day, 19:00:00
+
In addition to the operations listed above :class:`timedelta` objects support
certain additions and subtractions with :class:`date` and :class:`datetime`
objects (see below).