0
私は次のコードを持っています。Python。別の関数内の関数を呼び出す
def num_dim(response_i, m):
for response_j in response_i['objcontent']:
if response_i['objkey']== 'explorecube_dimvalues':
mm = [response_j['title']]
m.append(mm)
m=(len(m))
return m
if __name__=='__main__':
for response_i in response['response']:
m=[ ]
x=0
def num_dim_2(response_i, m):
if response_i['objkey']== 'explorecube_dimvalues':
m = num_dim(response_i, m)
print(m)
return m
num_dimentions= num_dim_2 (response_i, m)
print(num_dimentions)
print(m)
の出力は次のとおりです。
3
しかしprint(num_dimentions)
の出力は次のとおりです。私は3
誰もが私が修正できる方法を知っていると予想
[ ]
[ ]
3
[ ]
この問題(最終出力として3の値を得る)。ありがとうございました。
なぜあなたが作成していますforループ内の関数?まず最初に行ったように関数を作成し、必要に応じて関数を呼び出すだけです。また、私たちは応答['応答']がループを理解するのが難しいかどうかわかりません –
関数の入力を変更していることは理解できますか?あなたはあなたの関数(リストであり、渡される参照)の中でパラメータ 'm'を修正しています。また、それを返すのですか?それは意味がありません。コード全体がばかげている。 –