開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
- プログラミング言語: Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の14章(文字列処理とソート)の14.5(練習問題)2を解いてみる。
その他参考書籍
2.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl use strict; use warnings; use 5.016; use utf8; binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; my %last_name = qw{ fred flintstone Wilma Flintstone Barney Rubble betty rubble Bamm-Bamm Rubble PEBBLES FLINTSTONE }; my @sorted = sort { lc $last_name{$a} cmp lc $last_name{$b} or lc $a cmp lc $b } keys %last_name; for (@sorted) { say "$_ $last_name{$_}"; }
入出力結果(Terminal)
$ ./sample.pl fred flintstone PEBBLES FLINTSTONE Wilma Flintstone Bamm-Bamm Rubble Barney Rubble betty rubble $
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 ## Copyright (C) 2013 by kamimura #-*- coding: utf-8 -*- last_name = {'fred':'flintstone', 'Wilma':'Flintstone', 'Barney':'Rubble', 'betty':'rubble', 'Bamm-Bamm':'Rubble', 'PEBBLES':'FLINTSTONE'} sorted_first = sorted(last_name, key=lambda x:x.lower()) sorted_last = sorted(sorted_first, key=lambda x:last_name[x].lower()) for first in sorted_last: print("{0} {1}".format(first, last_name[first]))
入出力結果(Terminal)
$ ./sample.py fred flintstone PEBBLES FLINTSTONE Wilma Flintstone Bamm-Bamm Rubble Barney Rubble betty rubble $
0 コメント:
コメントを投稿