2012-08-28 62 views
1

我有不同的值以下示例腳本,我actualy XY列表更大得多:Python中,分組一大組變量

XY1 =值
XY 2 =數值
XY3 =值3
XY4 = VALUE4
xy5 =值5
xy6 = value6
xy7 = value7
xy8 = value8
xy9 = value9

xytotal = SUM((XY1,XY2,XY3,XY4,xy5,xy6,xy7,xy8,xy9))

時,我有個這樣的xy變量的問題發生,就變得乏味添加它們全部納入求和函數。

現在有辦法告訴python總結每個不同xy(xy1,xy2,xy3等)的所有xy值嗎?

謝謝

+2

你不能把它們全部放在列表中嗎? – arshajii

回答

3

請勿使用單獨的變量。如果數據足夠複雜,可以使用列表,也可以與其他數據結構混合使用。

雖然我們在:Variable names aren't data。假設Python拋出您的變量名稱。

0
all_xy = [value1, value2, value3, ...] 
# Note that xy_all[n-1] = valuen 

xy_total = sum(all_xy) 

如果你想使用all_xy[n] = valuen抓住他們,那麼你可以使用all_xy = [0, value1, value2, value3, ...]

,用列表構造在Python絕對是首選使用變量名,一件事,你可以隨便寫列表內涵,例如:

positive_xy = [ xy for xy in all_xy if xy>0 ] 
positive_xy_total = sum(positive_xy) 

另一種選擇是使用字典。

另一個需要注意的原因是,如果您在locals()中檢查startswith('xy'),您可以輕鬆嘗試將「意外」變量一個會導致Python異常的函數。