我有乙個物件列表,其中包含電子**中的「名稱/範圍」。在處理電子**時,我需要更新與範圍相關的值。
儲存此資訊的類如下所示:class varname:
name = none
refersto = none
referstor1c1 = none
value = none
def __init__(self, name, refersto, referstor1c1, value):
self.name = name
self.refersto = refersto
self.referstor1c1 = referstor1c1
self.value = value
我建立列表如下:staticnames = {}
wbnames = wb.names
for name in wbnames:
(nsheet, naddr) = name.refersto.split("!")
print "name: %s refers to: %s refers to r1c1: %s value: %s " %(name.name , name.refersto, name.referstor1c1, wsheets(nsheet.replace('=', '') ).range(naddr).value )
##print wsheets(nsheet.replace('=', '') ).range(naddr).value
staticnames[name.name] = varname( name.name , name.refersto, name.referstor1c1, wsheets(nsheet.replace('=', '') ).range(naddr).value )
看來效果不錯。我可以在debug中看到列表和包含的物件。當我回去根據處理電子**來更新列表中的物件時,我會迷失方向。
我呼叫此函式:def updatestaticnames( ws, r, c, val_in, staticnames ):
for sname in staticnames:
if sname.referstor1c1() == "=" + ws.name +"!r" + str(r) + "c" + str(c) :
sname.value = val_in
return none
staticnames是指包含name/range物件的列表。
我希望sname包含varname型別的物件。可惜裡面有一根繩子。我做錯什麼了?
js 陣列遍歷 物件遍歷
一 陣列遍歷 1,普通for迴圈,經常用的陣列遍歷 var arr 1,2,0,3,9 for var i 0 i 2,優化版for迴圈 使用變數,將長度快取起來,避免重複獲取長度,陣列很大時優化效果明顯 for var j 0,len arr.length j len j 3,foreach,es...
PHP遍歷物件
php5提供了一種可以通過單元列表來遍歷物件的方法,如果foreach語句,預設情況下,所有public屬性都將被用於遍歷。如果在類方法中進行遍歷,還可以訪問protected和private屬性。從父類繼承的屬性也會被遍歷。class a a new a a showproperties fore...
php 物件遍歷
物件遍歷 foreach,遍歷物件的公有屬性 將公有屬性的值和屬性名賦值給對應 value和 key 遍歷某乙個屬性的陣列,實現iterator介面 介面iterator 類實現iterator介面 current 獲取當前陣列元素的值 this hobby this position key 獲取...