java 和 python 相当于 php 的 foreach($array as $key => $value)

标签 java php python associative-array

在 php 中,可以使用这样的关联数组处理州名及其缩写的列表:

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

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

输出(保留键顺序):

The abbreviation for ALABAMA is AL.

The abbreviation for ALASKA is AK.

The abbreviation for WYOMING is WY.

编辑:请注意,数组元素的顺序保留在 php 版本的输出中。使用 HashMap 的 Java 实现不保证元素的顺序。 Python 中的字典也没有。

这是如何在 java 和 python 中完成的?我只找到提供值的方法,给定键,比如 python 的:

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

for key in stateDict:
    value = stateDict[key]

编辑:根据答案,这是我在 python 中的解决方案,

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

for name, abbreviation in stateList:
    print name, abbreviation

输出:

ALABAMA AL
ALASKA AK
WISCONSIN WI
WYOMING WY

这正是所需要的。

最佳答案

在 Python 中:

for key, value in stateDict.items(): # .iteritems() in Python 2.x
    print "The abbreviation for %s is %s." % (key, value)

在 Java 中:

Map<String,String> stateDict;

for (Map.Entry<String,String> e : stateDict.entrySet())
    System.out.println("The abbreviation for " + e.getKey() + " is " + e.getValue() + ".");

关于java 和 python 相当于 php 的 foreach($array as $key => $value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1219548/

相关文章:

java - Java 中如何在不知道确切类型的情况下克隆对象?

java - 如何让 Netbeans 相信我有 JMS?

php - 上传时ffmpeg水印视频

游戏的java定时器

php - 使用 group by 获取其他(自定义)列并使用 laravel 进行计数

php - mysql 的 php 扩展

python - 了解 Python3.x 中的 izip

python - 如何在 Python 的不同类中使用变量?

使用 Nose 的 Python 测试加载器

java - 我应该如何修复找不到所需类型的 bean?