Merged revisions 83328,83341 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83328 | raymond.hettinger | 2010-07-31 12:14:41 +0200 (Sa, 31 Jul 2010) | 1 line

  Document how to change OrderedDict update order from first to last.
........
  r83341 | georg.brandl | 2010-07-31 13:40:07 +0200 (Sa, 31 Jul 2010) | 1 line

  #9430: document timedelta str() and repr().
........
This commit is contained in:
Georg Brandl 2010-08-01 19:21:26 +00:00
parent e277325285
commit ad8ac86f3c
2 changed files with 30 additions and 0 deletions

View File

@ -958,3 +958,15 @@ in conjuction with sorting to make a sorted dictionary::
The new sorted dictionaries maintain their sort order when entries The new sorted dictionaries maintain their sort order when entries
are deleted. But when new keys are added, the keys are appended are deleted. But when new keys are added, the keys are appended
to the end and the sort is not maintained. 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)

View File

@ -235,6 +235,14 @@ Supported operations:
| ``abs(t)`` | equivalent to +\ *t* when ``t.days >= 0``, and| | ``abs(t)`` | equivalent to +\ *t* when ``t.days >= 0``, and|
| | to -*t* when ``t.days < 0``. (2) | | | 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: Notes:
@ -250,6 +258,16 @@ Notes:
(4) (4)
-*timedelta.max* is not representable as a :class:`timedelta` object. -*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 In addition to the operations listed above :class:`timedelta` objects support
certain additions and subtractions with :class:`date` and :class:`datetime` certain additions and subtractions with :class:`date` and :class:`datetime`
objects (see below). objects (see below).