2013-07-12 41 views
1

我跑一些統計數據的東西(例如)沒有價值:如何打印「空」的任何許多值可能有

Chi_min=str(min(chi)) 
Chi_max=str(max(chi)) 
Teff_min=str(min(Temp)) 
Teff_max=str(max(Temp)) 
Tin_min=str(min(Tin)) 
Tin_max=str(max(Tin)) 
Tau_min=str(min(Tau)) 
Tau_max=str(max(Tau)) 
Mdots_min=str(min(Mdots)) 
Mdots_max=str(max(Mdots)) 
Chi_sdev=str(sp.stats.tstd(chi)) 
Teff_sdev=str(sp.stats.tstd(Temp)) 
Tin_sdev=str(sp.stats.tstd(Tin)) 
Tau_sdev=str(sp.stats.tstd(Tau)) 
Mdots_sdev=str(sp.stats.tstd(Mdots)) 

,我有被打印出來的結果成一條線像這樣

NewResults=NewResults+str(data[RowStar][0])+'\t'+str(RowStar+1)+'\t'+str(ChiThresh)+'\t'+str(BestX)+'\t'+str(Teff)+'\t'+Teff_min+'\t'+Teff_max+'\t'+Teff_sdev+'\t'+Teff_sdev2+'\t'+Teff_med+'\t'+str(Tempin)+'\t'+Tin_min+'\t'+Tin_max+'\t'+Tin_sdev+'\t'+Tin_med 

我錯過了幾個欄時將其寫入文件。我懷疑它沒有爲任何空值放下任何東西。對於沒有任何輸出的任何值,讓python打印出'null'值最簡單的方法是什麼?

回答

1

一個可能的解決方案是依靠空字符串評估爲False的事實。

因此,你可以做的每個條目下列內容:

Chi_min = str(min(chi)) or "null" 
+0

啊,我不知道你能做到這一點。謝謝。 – Matt

+0

不客氣:) – Moshe

+2

而不是重複所有的每一行,你可以爲它寫一個函數。 :-) – kindall