java et python équivalent de foreach de php ($ array comme $ key = & gt; $ value)

En php, on peut gérer une liste de noms d'états et de leurs abréviations avec un tableau associatif comme ceci:

<?php
    $stateArray = array(
        "ALABAMA"=>"AL",
        "ALASKA"=>"AK",
        //etc...
        "WYOMING"=>"WY"
    );

    foreach ($stateArray as $stateName => $stateAbbreviation){
        print "The abbreviation for $stateName is $stateAbbreviation.\n\n";
    }
?>

De sortie (avec clé de commande préservée):

The abbreviation for ALABAMA is AL.

The abbreviation for ALASKA is AK.

The abbreviation for WYOMING is WY.

EDIT: Notez que l'ordre des éléments du tableau est conservé à la sortie de la version de php. L'implémentation de Java, à l'aide d'une table de hachage, ne garantit pas l'ordre des éléments. De même, le dictionnaire en Python.

Comment est-ce fait en java et python? Je ne trouve que des approches qui fournissent la valeur, étant donné la clé, comme python:

stateDict = {
    "ALASKA": "AK",
    "WYOMING": "WY",
}

for key in stateDict:
    value = stateDict[key]

EDIT: sur la base des réponses, c'était ma solution en python,

# a list of two-tuples
stateList = [
    ('ALABAMA', 'AL'),
    ('ALASKA', 'AK'),
    ('WISCONSIN', 'WI'),
    ('WYOMING', 'WY'),
]

for name, abbreviation in stateList:
    print name, abbreviation

De sortie:

ALABAMA AL
ALASKA AK
WISCONSIN WI
WYOMING WY

Qui est exactement ce qui est nécessaire.

source d'informationauteur