- ruby 版
メソッド to_h はソート結果をハッシュに戻す。
ソートデータ
zipcode={
"135-0064"=>"東京都江東区青海",
"380-0941"=>"長野県長野市安茂里",
"270-0151"=>"千葉県流山市後平井",
"928-0032"=>"石川県輪島市小伊勢町",
"920-1132"=>"石川県金沢市朝加屋町",
"670-0944"=>"兵庫県姫路市阿保"
}
zipcode.store("675-0024","兵庫県加古川市尾上町長田") ←要素を追加
zipcode["162-0812"]="東京都新宿区西五軒町" ←要素を追加
keyの昇順
zipcode.sort_by{|key,val| key }.to_h.each_pair { |key, val|
puts "〒"+key+" 住所:"+val
}
#または
zipcode.sort{|a,b| a[0]<=>b[0]}.to_h.each_pair { |key, val|
puts "〒"+key+" 住所:"+val
}
[結果表示]
〒135-0064 住所:東京都江東区青海
〒162-0812 住所:東京都新宿区西五軒町
〒270-0151 住所:千葉県流山市後平井
〒380-0941 住所:長野県長野市安茂里
〒670-0944 住所:兵庫県姫路市阿保
〒675-0024 住所:兵庫県加古川市尾上町長田
〒920-1132 住所:石川県金沢市朝加屋町
〒928-0032 住所:石川県輪島市小伊勢町
keyの降順
zipcode.sort_by{|key,val| key }.reverse.to_h.each_pair { |key, val|
puts "〒"+key+" 住所:"+val
}
#または
zipcode.sort{|a,b| b[0]<=>a[0]}.to_h.each_pair { |key, val|
puts "〒"+key+" 住所:"+val
}
[結果表示]
〒928-0032 住所:石川県輪島市小伊勢町
〒920-1132 住所:石川県金沢市朝加屋町
〒675-0024 住所:兵庫県加古川市尾上町長田
〒670-0944 住所:兵庫県姫路市阿保
〒380-0941 住所:長野県長野市安茂里
〒270-0151 住所:千葉県流山市後平井
〒162-0812 住所:東京都新宿区西五軒町
〒135-0064 住所:東京都江東区青海
valueの昇順
zipcode.sort_by{|key,val| val }.to_h.each_pair { |key, val|
puts "〒"+key+" 住所:"+val
}
#または
zipcode.sort{|a,b| a[1]<=>b[1]}.to_h.each_pair { |key, val|
puts "〒"+key+" 住所:"+val
}
[結果表示]
〒675-0024 住所:兵庫県加古川市尾上町長田
〒670-0944 住所:兵庫県姫路市阿保
〒270-0151 住所:千葉県流山市後平井
〒162-0812 住所:東京都新宿区西五軒町
〒135-0064 住所:東京都江東区青海
〒928-0032 住所:石川県輪島市小伊勢町
〒920-1132 住所:石川県金沢市朝加屋町
〒380-0941 住所:長野県長野市安茂里
valuの降順
zipcode.sort_by{|key,val| val }.reverse.to_h.each_pair { |key, val|
puts "〒"+key+" 住所:"+val
}
#または
zipcode.sort{|a,b| b[1]<=>a[1]}.to_h.each_pair { |key, val|
puts "〒"+key+" 住所:"+val
}
[結果表示]
〒380-0941 住所:長野県長野市安茂里
〒920-1132 住所:石川県金沢市朝加屋町
〒928-0032 住所:石川県輪島市小伊勢町
〒135-0064 住所:東京都江東区青海
〒162-0812 住所:東京都新宿区西五軒町
〒270-0151 住所:千葉県流山市後平井
〒670-0944 住所:兵庫県姫路市阿保
〒675-0024 住所:兵庫県加古川市尾上町長田
- php 版( 連想配列 )
ソートデータ
$zipcode=array(
"135-0064"=>"東京都江東区青海",
"380-0941"=>"長野県長野市安茂里",
"270-0151"=>"千葉県流山市後平井",
"928-0032"=>"石川県輪島市小伊勢町",
"920-1132"=>"石川県金沢市朝加屋町",
"670-0944"=>"兵庫県姫路市阿保"
);
$zipcode+=array("675-0024"=>"兵庫県加古川市尾上町長田"); ←要素を追加
$zipcode["162-0812"]="東京都新宿区西五軒町"; ←要素を追加
keyの昇順
ksort($zipcode);
foreach($zipcode as $key => $val){
print "〒$key 住所:$val\n";
}
keyの降順
krsort($zipcode);
foreach($zipcode as $key => $val){
print "〒$key 住所:$val\n";
}
valueの昇順
asort($zipcode);
foreach($zipcode as $key => $val){
print "〒$key 住所:$val\n";
}
valueの降順
arsort($zipcode);
foreach($zipcode as $key => $val){
print "〒$key 住所:$val";
}
- perl 版
ソートデータ
my %zipcode=(
"135-0064"=>"東京都江東区青海",
"380-0941"=>"長野県長野市安茂里",
"270-0151"=>"千葉県流山市後平井",
"928-0032"=>"石川県輪島市小伊勢町",
"920-1132"=>"石川県金沢市朝加屋町",
"670-0944"=>"兵庫県姫路市阿保"
);
$zipcode{"675-0024"}="兵庫県加古川市尾上町長田"; ←要素を追加
$zipcode{"162-0812"}="東京都新宿区西五軒町"; ←要素を追加
keyの昇順
foreach my $key(sort keys(%zipcode)){
print "〒$key, 住所:$zipcode{$key}\n";
}
keyの降順
foreach my $key(reverse sort keys(%zipcode)){
print "〒$key, 住所:$zipcode{$key}\n";
}
valueの昇順
#perlは日本語のソートに対応していないでソートされていない。日本語以外では大丈夫です。
foreach my $key(sort { $zipcode{$a} cmp $zipcode{$b} } keys %zipcode){
print "〒$key, 住所:$zipcode{$key}\n";
}
valueの降順
#perlは日本語のソートに対応していないでソートされていない。日本語以外では大丈夫です。
foreach my $key(reverse sort { $zipcode{$a} cmp $zipcode{$b} } keys %zipcode){
print "〒$key, 住所:$zipcode{$key}\n";
}
- python 版( 辞書オブジェクト )
ソートデータ
zipcode={
"135-0064":"東京都江東区青海",
"380-0941":"長野県長野市安茂里",
"270-0151":"千葉県流山市後平井",
"928-0032":"石川県輪島市小伊勢町",
"920-1132":"石川県金沢市朝加屋町",
"670-0944":"兵庫県姫路市阿保"
}
zipcode.update({"675-0024":"兵庫県加古川市尾上町長田"}); ←辞書オブジェクトの連結(複数個追加できる)
zipcode["162-0812"]="東京都新宿区西五軒町"; ←要素を追加
reverseオプション| True | 降順でソート | | False | 昇順でソート | | 省略 | 昇順でソート | | | keys | 辞書に含まれるkeyをリスト型のオブジェクトとして取得 | | values | 辞書に含まれるvalueをリスト型のオブジェクトとして取得 | | items | 辞書に含まれるkeyとvalueをタプル型のオブジェクトとして取得 |
|
keyの昇順
for k, v in sorted(zipcode.items(),reverse=True):
print "〒="+k+",住所="+v
#または
for k, v in sorted(zipcode.items(),key=lambda x: x[0],reverse=True):
print "〒="+k+",住所="+v
keyの降順
for k, v in sorted(zipcode.items(),reverse=False):
print "〒="+k+",住所="+v
#または
for k, v in sorted(zipcode.items(),key=lambda x: x[0],reverse=False):
print "〒="+k+",住所="+v
valueの昇順
for k, v in sorted(zipcode.items(),key=lambda x: x[1],reverse=True):
print "〒="+k+",住所="+v
valueの降順
for k, v in sorted(zipcode.items(),key=lambda x: x[1],reverse=False):
print "〒="+k+",住所="+v