なんとなく知ってるような知らないような三項演算子を使ってPythonでやってみた
奇数か偶数か判定する関数
def odd_or_even(n): return "odd" if n % 2 else "even" print odd_or_even(1) #odd(奇数) print odd_or_even(100) #even(偶数)
結果
odd even
SICP 2.2.2 Hierarchical Structures の Mapping over trees の ラムダで使った関数『scale_tree』をPythonでternary operator(三項演算子)を使ってやり直してみた
def scale_tree_ternary_operator(tree, factor): return map(lambda sub_tree: scale_tree_ternary_operator(sub_tree, factor) if isinstance(sub_tree, list) else sub_tree * factor, tree) print scale_tree_ternary_operator([1,[2,[3,4],5],[6,7]], 10) #[10, [20, [30, 40], 50], [60, 70]]
こんなんなりました。(ちなみに以前やったものはこちら)