Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

リスト内包表記なる魔界記法 その3:メソッドを連続して実行させてデータをつくる

存在ごと忘れていましたが……PythonにもRuby黒魔術めいた匂いのする暗黒記法「リスト内包表記」というやつがあります。
lambdaでぶん回すみたいなアレです。

実際のところ

depth_info_topic_publisherのクラス内変数recent_valueを6回とって、
それを格納した変数を作る場合は以下のようにします。

values = [depth_info_topic_publisher.recent_value for _ in range(6)]

(参考)lambda式で書くと

こいつを魔界記法lambdaでやると、以下のようになります
これと比較すると、リスト内包表記は中々スッキリかけることがわかりますね。

# lambda式を使ってrecent_valueを取得する関数を定義
get_recent_value = lambda: depth_info_topic_publisher.recent_value

# map関数とrangeを使ってリストを作成
values = list(map(get_recent_value, range(6)))