[問題] 如何new一個自訂structure的array?

看板Python作者 (喵喵)時間14年前 (2010/09/29 12:04), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
我有一個結構Greeting: class Greeting(db.Model): author = db.StringProperty() content = db.StringProperty(multiline=True) lonx = db.FloatProperty() lony = db.FloatProperty() lon = db.StringProperty() 因為GAE沒有辦法做兩個變數的不等式query 所以我將程式寫成 class MainPage(webapp.RequestHandler): def get(self, page): if(self.request.get('x') != ""): #以lonx為query條件,得到符合條件的那些欄位 query = db.GqlQuery("SELECT * FROM Greeting where lonx >= :1 and lonx <= :2 " , (float(self.request.get('x')) - 0.0001), (float(self.request.get('x'))) + 0.0001) else: query = db.GqlQuery("SELECT * FROM Greeting where 1 = 2") #取query中的前一千筆 name = query.fetch(1000,0) #將name中,符合lony條件的存入filter filter=[] for location in name: if location.lony>=float(self.request.get('y')) - 0.0001: if location.lony<=float(self.request.get('y')) + 0.0001: print location.content filter = filter.extend(location) self.response.clear() self.response.out.write(template.render('gps.html',{'recName':filter, 'recContent':filter})) 但是卻會出現TypeError: 'Greeting' object is not iterable 請問有辦法能夠new一個Greeting型別的陣列嗎? 就是和name一樣型別 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.185

09/29 13:25, , 1F
不要用extend用append試試看
09/29 13:25, 1F
改成append會產生另外一個錯誤 AttributeError: 'NoneType' object has no attribute 'append' ※ 編輯: amorr 來自: 140.112.4.185 (09/29 13:29) ※ 編輯: amorr 來自: 140.112.4.185 (09/29 13:30)

09/29 13:47, , 2F
將filter=filter.extend(location)改成filter.append(locat)
09/29 13:47, 2F

09/29 13:47, , 3F
好像就可以了!!謝謝一樓大大!!!
09/29 13:47, 3F
文章代碼(AID): #1Cehgu4M (Python)
文章代碼(AID): #1Cehgu4M (Python)