[Tutor] single key ordered sequence

bob gailer bgailer at gmail.com
Fri Jan 16 00:39:07 CET 2009


Jervis Whitley wrote:
>
>
> On Fri, Jan 16, 2009 at 9:15 AM, Kent Johnson <kent37 at tds.net 
> <mailto:kent37 at tds.net>> wrote:
>
>     On Thu, Jan 15, 2009 at 3:44 PM, Jervis Whitley
>     <jervisau at gmail.com <mailto:jervisau at gmail.com>> wrote:
>     > how about this:
>     > items = [(1,'a'),(1,'b'),(2,'a'),(3,'a'),
>     >             (3,'b'),(4,'a'),(5,'a'),(5,'b'),(5,'c')]
>     > mydict = dict(items)
>     > items = [item for item in mydict.iteritems()]
>
>     That only coincidentally preserves order; the order of items in a
>     dictionary is, for practical purposes, unpredictable.
>
>     BTW [item for item in mydict.iteritems()] can be written as just
>     mydict.items().
>
>     Kent
>
> I realise that what you have said is true, however 
> can you show me a case where 
>
> > items = dict(items).items()
>
> will not preserve order? Thanks.
>   
On my computer:

 >>> dict((('z', 1), ('y', 2))).items()
[('y', 2), ('z', 1)]

-- 
Bob Gailer
Chapel Hill NC
919-636-4239


More information about the Tutor mailing list