Join dictionary item, keys
join, python
Solution
Python dictionaries are unordered (or rather, their order is arbitrary), and when you iterate on them, only the keys are returned:
>>> d = {'0':0, '1':1, '2':2, '3':3, '4':4}
>>> print(d)
{'4': 4, '1': 1, '0': 0, '3': 3, '2': 2}
If you need both keys and values, use `iDict.items()`.
If you need ordering, use `collections.OrderedDict`.
Problem
Please see below code snippet for join method (used Python 2.7.2): ``` iDict={'1_key':'abcd','2_key':'ABCD','3_key':'bcde','4_key':'BCDE'} '--'.join(iDict) ``` Result shown as ``` '2_key--1_key--4_key--3_key' ``` Please comment why only keys are joined? Also the sequence is not in order. Note - below are the individual methods. - `'--'.join(iDict.values())` ==> `'ABCD--abcd--BCDE--bcde'` ==> the sequence is not in order - `'--'.join(iDict.keys())` ==> `'2_key--1_key--4_key--3_key'` ==> the sequence is not in orde