こちらは新品、プログラミングには全く新しいものです。私はPythonで化学や物理によく見られる大きなUV-Vis吸光度データをまとめたり圧縮したりするプログラムを書いています。セクションをもっと「Pythonic」にすることで、プログラムに最終的なタッチを追加しようとしています。次のスニペットはそのような例の1つです。大きな "if-else"ツリーアルゴリズムの代わりに?
while j < (N):
j=j+1
B=A[1+(10*j)+R][1:k] #Extraction expression.
C=[float(i) for i in B] #Float conversion.
D[0].append(C[0]),D[1].append(C[1]),D[2].append(C[2])
if NC >= 4:
D[3].append(C[3])
if NC >= 5:
D[4].append(C[4])
if NC >= 6:
D[5].append(C[5])
if NC >= 7:
D[6].append(C[6])
if NC >= 8:
D[7].append(C[7])
if NC >= 9:
D[8].append(C[8])
if NC >= 10:
D[9].append(C[9])
if NC >= 11:
D[10].append(C[10])
if NC == 12:
D[11].append(C[11])
Cはネストされたリストです。私はC内のリストに含まれるインデックス固有の要素を追加しようとしています。
Ie. C = [[A1、B1、C1]、[A2、B2、C2]、[A3、B3、C3]、...] →[A1、A2、A3、... An]、[B1 ..B2、B3、... Bn] ...
NCがあるインデックスNと同等である場合、ネストされたリストのインデックスは同じインデックスであり、追加アルゴリズムは異なるNCの各値。
上記のスニペットは私の目的には完全に機能しますが、プログラムが進化するにつれて、長さと重複コードは長期的には実現できません。
誰かが私を正しい方向に向けることができますか?
乾杯
はい、完璧に動作し、私はあなたが何をしたかを見ます。基本的に私たちが使用している分光光度計は12×8のマイクロプレートを読み取るので、NCは実際には12を横断しません。しかし、あなたの編集は実際には、私は12で8より大きい次元を持っているマイクロプレートがあることを認識しています。思考のための食べ物! – David
私は助けることができて非常にうれしい! – Hamms