概要
PHPのforeachやforに相当するコードをPythonで実装する
バージョン
- PHP 7.0.27
- Python 3.6.0
foreach
PHPでよく使う「配列の先頭から一つずつ処理し、配列の長さだけ繰り返す」foreachループ処理
foreach.php
<?php
$array = ['value1', 'value2', 'value3'];
foreach ($array as $value) {
print($value . "\n");
}
/*
value1
value2
value3
*/
Pythonでリスト(list)型を使って同等のものを実装する場合は以下のようなコードになります
for_list.py
my_list = ['value1', 'value2', 'value3']
for value in my_list:
print(value) # python3
# print value # python2
# value1
# value2
# value3
forでは文ではシーケンス型が使用可能なので、list以外にもtupleやrangeが使用可能です
for_tuple.php
my_tuple = ('value1', 'value2', 'value3')
for value in my_tuple:
print(value) # python3
# print value # python2
# value1
# value2
# value3
phpの連想配列でkeyとvalueを順に取得しながらループ処理する場合
key_value_foreach.php
<?php
$array = ['key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3'];
foreach ($array as $key => $value) {
print($key . ":" . $value . "\n");
}
/*
key1:value1
key2:value2
key3:value3
*/
Pythonで同等のものを実装する場合はマッピング(dict)型を使用して以下のようなコードになります
for_dict.py
my_dict = {'key1' : 'value1', 'key2' : 'value2', 'key3' : 'value3'}
for key, value in my_dict.items():
print(key + ':' + value) # python3
# print key + ':' + value # python2
# value1
# value2
# value3
for
PHPでもあまり使わない「ループカウンタを変化させながら繰り返す」ループ処理
for.php
<?php
for ($i = 0; $i < 10; $i++) {
print($i . "\n");
}
/*
0
1
2
3
4
5
6
7
8
9
*/
Pythonではrange型に対してループ処理を行うことで同様の処理が行えます
for_range.php
for i in range(10): # 0から9までのrange型
print(i) # python3
# print i # python2
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9