dropDownList invert key / value

My first question and very basic question about using the dropDownList component.
I have an array that contains 2 columns ‘city-name’ and ‘zip-code’. zip-code cannot be in index because possibility of duplicate. I want to post zip-code value and show city name in dropdown. How can I set my dropDownList to use index 1 of my array as value and index 0 as option label? That is to say the opposite of its default behavior?
thank you

posting duplicate zip code does not make sense also, use primary key or unique identifier of each city. You can display city with zip code and post unique identifier to identify the city in the back-end.

To invert key value you can do array_flip() directly on single dimensional array.

540 / 5 000

I suppose it must depend on the country, in France, the same postal code can be attached to several cities, doing a search by zip code allows you to find the cities attached to this code (there is however a really unique code per city if needed).
I can’t do an aray_flip with my no unique column…
More generally, can we choose a column as value in an array using dropDownList or should we generate our selection list in basic php?
Many thanks for the reply

Add code for how you generated city list for dropdown for further help.