[Tutor] Q about .join() Thanks!

David Rock david at graniteweb.com
Mon Feb 13 20:20:52 EST 2017


> On Feb 13, 2017, at 12:34, SIJIA CHEN <schen557 at wisc.edu> wrote:
> 
> I find out that the outcome for using .join() on a dictionary is totally different than it using on list or string. for example,
> 
>>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
>>>> print ':'.join(seq4)
>                  boy:good:doiido:hello
> So my question is why the outcome doesn't show sequentially as the same sequence of the original seq4?  What pattern do those "keys" of the dictionary in the outcome show ?

Dictionaries (in particular, their keys) are unordered.  You can not rely on them to be in a particular sequence.  The reason for this, from a practical perspective, is you are expected to ask for the specific key; you should not care about the ordering.

Lists, on the other hand, have a specific order by design so will always be in the order they were created.

What are you trying to do with join() on a dictionary in the first place?  Is there a specific outcome you are trying to get?  It’s unlikely that using join on a dictionary is what you actually want.

—
David Rock
david at graniteweb.com






More information about the Tutor mailing list