2つの変数に依存する関数の1つの変数に対して「for」ループを使用するにはどうすればよいですか?

p.kumar

関数内fort変数にループを使用したいだけです

l = []

def func(s):   
    for i in range(1, 100):
        t = i
        p = t * 2 + s * 2
    return p

l.append(func(10))

print l

tの値を1から99にして、すべての値のリストを出力したいのですが、常にl = [218]。を取得することになります。

MSeifert

NumPyがインストールされていると仮定します(少なくとも元の質問で提案されています)。そのためnumpy-arrays、非常に効率的な方法で(リスト内包表記や明示的な反復なしで)結果を取得する方法を紹介します。

> import numpy as np
> s = 10
> l = np.arange(1, 100) * 2 + s * 2 # Arrange produces an array. Syntax is like "range".
> print(l)

array([ 22,  24,  26,  28,  30,  32,  34,  36,  38,  40,  42,  44,  46,
        48,  50,  52,  54,  56,  58,  60,  62,  64,  66,  68,  70,  72,
        74,  76,  78,  80,  82,  84,  86,  88,  90,  92,  94,  96,  98,
       100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124,
       126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150,
       152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176,
       178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202,
       204, 206, 208, 210, 212, 214, 216, 218])

NumPy配列の数学演算がすべての要素に影響を与えるという事実を利用しました。:したがって、書き込み動作ことは簡単であるnp.arange(1, 100) * 2が持つすべての要素を乗算するため、2およびnumpy.arange所与の間のすべての数値を含む配列を作成する可能性であるstartstopオプションとstep(だけなどpython range)。

NumPyでは、append単一の値を選択するのは適切ではありません(これは、値を追加するだけでなく、配列全体を再作成するためです)。ほとんどの場合、最終的なサイズと形状の配列を作成し、それを直接操作するのが最善です。もちろん、あなたのことができconcatenateまたはappend異なるnumpyのアレイが、それは常に完全に新しい配列を作成し、(定期的に使用している場合)ので、非常に効率的ではありません述べたように。


それで、最初の試みとそれが機能しなかった理由に関するいくつかの観察:あなたの関数はたくさんの数を作成しましたが、それは各ループでそれらをオーバーライドし、最後のものだけを返します:

def func(s):
    for i in range(1, 100):
        t = i
        p = t * 2 + s * 2
        # Next iteration of the loop just overwrites p
    # Returns only the last p
    return p

これを(のyield代わりにreturnジェネレーターにすることもできますが、ここではおそらくやり過ぎです。それでも、それを示します:-)

l = []
def func(s):
    for i in range(1, 100):
        p = i * 2 + s * 2
        yield p

l.append(list(func(10))) # Need to convert the generator to a list here.
# In this case a simple "l = list(func(10))" would be easier if you don't need to append.

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

IFを使用して1つの変数に対して2つの文字列をテストするにはどうすればよいですか?

分類Dev

Forループで2つの変数を使用するにはどうすればよいですか?

分類Dev

1つの変数の最大値に対応するすべての変数の最大値を見つけるにはどうすればよいですか?

分類Dev

2つのデータフレームを使用して変数を計算する関数を作成するにはどうすればよいですか?

分類Dev

変数を含む2つのベクトルのリストを循環して、応答に対してKSテストを実行するループまたは関数を作成するにはどうすればよいですか?

分類Dev

dplyrでNSEを使用して1つの変数を参照するにはどうすればよいですか?

分類Dev

NSISでIfElseを使用して2つの変数を比較するにはどうすればよいですか?

分類Dev

Kerasで1つの出力を持つモデルの損失として複数の変数を使用するにはどうすればよいですか?

分類Dev

2つの配列に対して1つの関数を使用するにはどうすればよいですか?

分類Dev

ループを使用して複数の変数を宣言するにはどうすればよいですか?

分類Dev

2つの関数に依存する関数を返すにはどうすればよいですか?

分類Dev

1つが文字列である2つのj変数を使用してデータを再形成するにはどうすればよいですか?

分類Dev

文字列を1つの変数に分割して、2つの変数を作成するにはどうすればよいですか?

分類Dev

Reactの1つの関数で2つの異なる変数を個別に変更するにはどうすればよいですか?

分類Dev

CSS変換プロパティの1つの関数のみを複数の関数で変更するにはどうすればよいですか?

分類Dev

関数の外部でforループを使用して複数のグローバル変数を作成するにはどうすればよいですか?

分類Dev

2つの変数値を異なる関数に計算し、出力をphpの他の関数に表示するにはどうすればよいですか?

分類Dev

Typescriptでそれらのタイプの1つの配列に対して複数のタイプの1つとして定義された変数を使用するにはどうすればよいですか?

分類Dev

Rのループを使用していくつかの条件でダミー変数を作成するにはどうすればよいですか?

分類Dev

2つの異なる関数から2つの変数を呼び出して追加するにはどうすればよいですか?(Python3)

分類Dev

グローバル変数を使用せずに関数から2つのリストを追加するにはどうすればよいですか?

分類Dev

4つの値と2つの変数を持つメンバー関数を使用するにはどうすればよいですか?

分類Dev

2つの別々の変数に書き込むために2つの別々の関数「fgets」を使用するにはどうすればよいですか?

分類Dev

Excel | 数式のグループに対して数式を1ずつインクリメントするにはどうすればよいですか?

分類Dev

2つの引数の関数に対してC ++で[]演算子をオーバーロードするにはどうすればよいですか?

分類Dev

1つのKDB関数の出力を3つのテーブル列に効率的に変換するにはどうすればよいですか?

分類Dev

関数を使用して、変数に対応する辞書の要素を動的に変更するにはどうすればよいですか?

分類Dev

onClickを持つボタンをループして表示し、別の変数を別の関数に渡すにはどうすればよいですか?

分類Dev

日付で照合して、因子レベル全体で1つの変数のRの相関を完了するにはどうすればよいですか?

Related 関連記事

  1. 1

    IFを使用して1つの変数に対して2つの文字列をテストするにはどうすればよいですか?

  2. 2

    Forループで2つの変数を使用するにはどうすればよいですか?

  3. 3

    1つの変数の最大値に対応するすべての変数の最大値を見つけるにはどうすればよいですか?

  4. 4

    2つのデータフレームを使用して変数を計算する関数を作成するにはどうすればよいですか?

  5. 5

    変数を含む2つのベクトルのリストを循環して、応答に対してKSテストを実行するループまたは関数を作成するにはどうすればよいですか?

  6. 6

    dplyrでNSEを使用して1つの変数を参照するにはどうすればよいですか?

  7. 7

    NSISでIfElseを使用して2つの変数を比較するにはどうすればよいですか?

  8. 8

    Kerasで1つの出力を持つモデルの損失として複数の変数を使用するにはどうすればよいですか?

  9. 9

    2つの配列に対して1つの関数を使用するにはどうすればよいですか?

  10. 10

    ループを使用して複数の変数を宣言するにはどうすればよいですか?

  11. 11

    2つの関数に依存する関数を返すにはどうすればよいですか?

  12. 12

    1つが文字列である2つのj変数を使用してデータを再形成するにはどうすればよいですか?

  13. 13

    文字列を1つの変数に分割して、2つの変数を作成するにはどうすればよいですか?

  14. 14

    Reactの1つの関数で2つの異なる変数を個別に変更するにはどうすればよいですか?

  15. 15

    CSS変換プロパティの1つの関数のみを複数の関数で変更するにはどうすればよいですか?

  16. 16

    関数の外部でforループを使用して複数のグローバル変数を作成するにはどうすればよいですか?

  17. 17

    2つの変数値を異なる関数に計算し、出力をphpの他の関数に表示するにはどうすればよいですか?

  18. 18

    Typescriptでそれらのタイプの1つの配列に対して複数のタイプの1つとして定義された変数を使用するにはどうすればよいですか?

  19. 19

    Rのループを使用していくつかの条件でダミー変数を作成するにはどうすればよいですか?

  20. 20

    2つの異なる関数から2つの変数を呼び出して追加するにはどうすればよいですか?(Python3)

  21. 21

    グローバル変数を使用せずに関数から2つのリストを追加するにはどうすればよいですか?

  22. 22

    4つの値と2つの変数を持つメンバー関数を使用するにはどうすればよいですか?

  23. 23

    2つの別々の変数に書き込むために2つの別々の関数「fgets」を使用するにはどうすればよいですか?

  24. 24

    Excel | 数式のグループに対して数式を1ずつインクリメントするにはどうすればよいですか?

  25. 25

    2つの引数の関数に対してC ++で[]演算子をオーバーロードするにはどうすればよいですか?

  26. 26

    1つのKDB関数の出力を3つのテーブル列に効率的に変換するにはどうすればよいですか?

  27. 27

    関数を使用して、変数に対応する辞書の要素を動的に変更するにはどうすればよいですか?

  28. 28

    onClickを持つボタンをループして表示し、別の変数を別の関数に渡すにはどうすればよいですか?

  29. 29

    日付で照合して、因子レベル全体で1つの変数のRの相関を完了するにはどうすればよいですか?

ホットタグ

アーカイブ