| Line | |
|---|
| 1 | # This is extremely crude implementation of an OrderedDict. |
|---|
| 2 | # If you know of a better implementation, please send it to |
|---|
| 3 | # the author Steve Howell. You can find my email via |
|---|
| 4 | # the YAML mailing list or wiki. |
|---|
| 5 | |
|---|
| 6 | class OrderedDict(dict): |
|---|
| 7 | def __init__(self): |
|---|
| 8 | self._keys = [] |
|---|
| 9 | |
|---|
| 10 | def __setitem__(self, key, val): |
|---|
| 11 | self._keys.append(key) |
|---|
| 12 | dict.__setitem__(self, key, val) |
|---|
| 13 | |
|---|
| 14 | def keys(self): |
|---|
| 15 | return self._keys |
|---|
| 16 | |
|---|
| 17 | def items(self): |
|---|
| 18 | return [(key, self[key]) for key in self._keys] |
|---|
| 19 | |
|---|
| 20 | if __name__ == '__main__': |
|---|
| 21 | data = OrderedDict() |
|---|
| 22 | data['z'] = 26 |
|---|
| 23 | data['m'] = 13 |
|---|
| 24 | data['a'] = 1 |
|---|
| 25 | for key in data.keys(): |
|---|
| 26 | print "The value for %s is %s" % (key, data[key]) |
|---|
| 27 | print data |
|---|
| 28 | |
|---|
| 29 | |
|---|
| 30 | |
|---|
| 31 | |
|---|
Note: See
TracBrowser
for help on using the repository browser.