2017-08-14 9 views
2

もう1つのスタイルを選択する理由はありますか? 例:Python:リストxの各要素に使用される関数リストxを引数としてリストxを取る関数

def add_10(x): 
    return x + 10 

results = [add_10(i) for i in range(5)] 

VS

def add_10(list_): 
    return [e + 10 for e in list_] 

results = add_10(range(5)) 

これは基本的な例であるが、それは考えを示しています。私は単純な入力と出力(リストは複雑ではない)で関数を書くのが好きなので、前者を最近使っていますが、個人的なスタイル以外に本当のプロや詐欺があるかどうかはわかりません。後者の詳細はドキュメントや他の人のコードで見ることができますが、この具体的なアイデアに対処するリソースはありません。

おかげ

答えて

0

最初のバージョンは、より一般的であり、それはデータ構造の任意の種類(いずれの構造においてか、単に単一の変数)にある値で使用することができます。たとえば、あなたは辞書を持っている場合、あなたはすべての要素が10に増加され、新しい辞書を作成するためにそれを使用することができますまたはあなたが書くことができます。

input_plus_10 = add_10(int(input("Please enter a number"))) 

番目のバージョンは、より具体的で、それだけですることができリストと共に使用されます。それが唯一必要なものなら、それは問題ありませんが、list_add_10のような名前を付けてください。

+0

だから、他の半ダースの6のように聞こえる?しかし、2番目のバージョンの特異性についてはっきりとしています。 –

+0

これは本当に全体的なモジュール性と必要なものです。 – Barmar

関連する問題