425. 配列の積と差


番号順一覧Top スレッド順一覧Top
作者: 王虎
日時: 2004/7/28(20:56)
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/
前の発言: 424. Re: 日本でも ... [dune] 2004/7/20(00:23)
後の発言: 426. Perl6 [Bruce.] 2004/7/30(15:09)
親発言:
子発言: 441. Re: 配列の積と差 [dune] 2004/8/15(22:41)