On Sun, 01 Apr 2018 22:24:31 -0400, C W wrote: > Thank you Steven. I am frustrated that I can't enumerate a dictionary by > position index.
Why do you care about position index? > Maybe I want to shift by 2 positions, 5 positions... Sounds like you are trying to program the Caesar Shift cipher, am I right? You probably should be manipulating *strings*, not dicts. Do these examples help? py> import string py> letters = string.ascii_lowercase py> letters 'abcdefghijklmnopqrstuvwxyz' py> letters[1:] + letters[:1] 'bcdefghijklmnopqrstuvwxyza' py> letters[5:] + letters[:5] 'fghijklmnopqrstuvwxyzabcde' py> letters[23:] + letters[:23] 'xyzabcdefghijklmnopqrstuvw' Slice your strings into the order that you want, then put them in a dict for fast lookups by character. > I want to know/learn how to manipulate dictionary with loop and by its > position location. Dict entries don't have a position location except by accident, or in sufficiently new versions of Python, by insertion order. If you want to process dict entries in a specific order, operate on the dict in whichever order you want: ordered_keys = 'azbycxdwevfugthsirjqkplomn' for k in ordered_keys: print(mydict[k]) In Python 3.7, dicts will keep their insertion order, so long as you don't delete any keys. -- Steve -- https://mail.python.org/mailman/listinfo/python-list