What is a good, common way to express dictionaries (= maps) in pseudocode? I.e. datastructures that basically allow to store values for keys, iterate over all key/value pairs, test for inclusion of a given key, etc. I have something like the following (in this case senseless) Python code in mind:D = {}D[1] = 2for key, value in D.items():    # do something with key and valueif key in D:    # do somethingAnd I want to express it as pseudocode in a publication. Thinking mathematically, dictionaries are functions are relations are sets of pairs, so writing something likeD  D[1]  2for all (k, v)  Dwould actually make sense. But is it understandable? And for the test, I'd useif k  keys(D)Or is it saver to be more literal, e.g.D  empty dictionaryfor all key-value pairs (k, v) in DIs there existing good practice / any reference on how to write commonly understandable pseudocode?
Dictionaries in pseudocode
algorithms;publications
It looks like you're already using some of the concepts from Corwin, Leiserson, Rivest, and Stein, which I've always seen as the default introductory text for algorithms, in writing your pseudocode. I don't think there's any more standard reference for pseudocode.However, I would argue that what makes a good pseudocode is to break the problem down into its representative mathematical and logical functions. What conditions have to be true to execute the code? What branches exist? What data is really essential in determining the behavior?Beyond that, the goal of good pseudocode is to tell the programmer what needs to be doneand not necessarily how to implement it. You might want, for instance, to flatten something like nested loops into a single statement:For all elements x in 2-D array A    x  max(0, x)would probably be better than sayingFor all i in 1:m   For all j in 1:n       A(i,j)  max(0, A(i,j)as the latter already starts to make some assumptions about the language that is being used (row-major versus column-major, etc.).