Python Zip関数内の計算方法
Q&A
解決したいこと
pythonでzip関数内の特定の範囲内でその数と次の数の平均を計算したいです
Aが1以上5以下だったら,そのAの時のBと次のAのBを平均したいです
発生している問題・エラー
手計算と合いません
該当するソースコード
for A,B in zip(A_List,B_List):
if 1<A and B<5:
AVE=(B[i]+B[i+1])/2
Q&A
pythonでzip関数内の特定の範囲内でその数と次の数の平均を計算したいです
Aが1以上5以下だったら,そのAの時のBと次のAのBを平均したいです
手計算と合いません
for A,B in zip(A_List,B_List):
if 1<A and B<5:
AVE=(B[i]+B[i+1])/2
変数i
が未定義ですが、エラーになりませんか?
変数B
が配列(リスト)なら、B_List
は二次元配列(二次元リスト)ですか?
@eesasa123456
Questioner
返信ありがとうございます
仰るとおりです
割り算は以下のようにできたのですが,質問の計算ができません
for A,B,C in zip(A_List,B_List,C_List):
if 1<A and A<5:
X=B/C
質問の計算ができません
Aが1以上5以下だったら,そのAの時のBと次のAのBを平均したいです
のことですか? そもそも、上のプログラムは、そうなっていませんけど・・・
A_List、B_List、C_Listの内容と、手計算した結果を提供してください。
Aが1以上5以下だったら,そのAの時のBと次のAのBを平均したい
zip使ってませんが、↓こうですかね
for i in range(len(A_list)-1):
if 1<=A_list[i]<=5:
AVE=(B_list[i]+B_list[i+1])/2
加重平均でしょうか?A_Listのみで良いのでは?
A_List=[1,2,3,4,5,6,7,8,9,10]
B_List=[10,9,8,7,6,5,4,3,2,1]
size = len(A_list)
print(zip(A_List,B_List))
for i, (A, B) in enumerate(zip(A_List, B_List):
print(size, i, A+B, A_List[i], B_List[i])
for i, A, B in zip(range(99), A_List, B_List):
print(size, i, A+B, A_List[i], B_List[i])
全く関係ないのですがzipは何の略ですか?
TVのzipや圧縮zipは早さ、速さを意味するそうです。
まとめる?、あわせる?zipperでしょうか因みに、zipperはyum,aptに次ぐopensuseのパッケージ管理コマンドです。
全く関係ない続きですみません。
zipは擬音にジジジが語源で、ガチャみたいなものでファスナーメーカーが擬音から名付けたようです。
さて、私はzipperから、まとめる(合わせる)、速いが派生したと考えています。
当時、ジーンズのあそこはボタンが普通で、zipperの登場で早く開けられたから、速い意味が生まれたのではと考えています。
その点でTVのzipは朝早く、ニョウスなのでしょうか?