Bruce. です。
2ちゃんねるのPerlスレで見かけたのですが、配列(リスト)の積と差を
求めるのに以下のような手法が挙げられていました。
@hoge1=( "1", "1", "1", "3", "4", "5", "5" );
@hoge2=( "1", "2", "4", "5" );
print grep{!exists ${{map{($_ => 1)}@hoge1}}{$_}}@hoge2;
-> 2
print grep{${{map{($_ => 1)}@hoge1}}{$_}}@hoge2;
-> 145
最初何やってるのか見当もつかなかったのですが、
print ${ {(1=>1, 3=>1, 5=>1)} }{5};
としてみるとキー5の値である1が出力されるのですね。
むーん。まるでLispのlamdaを駆使したプログラムを見るようです。
参考までにRubyでは組み込みの演算子 & と - でできます。- は
配列の関係を逆にしないといけませんが。
ではPythonではどうなるのだろう? と考えてみたのですが、その答えは
TSPythonで。
--
木村浩一
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
mail kbk@...
web www.kt.rim.or.jp/~kbk/