2012-04-29 22 views
2

私は既存の辞書キーに値を追加しようとしていました。値は、priceという名前のdb.Model Carから取得されます。Pythonで既存の辞書キーに値を追加する

2つのコードブロック(以下)を試しましたが、AttributeErrorが取得されました。 'GqlQuery'オブジェクトには 'price'属性がありません。私が取得しているよ何

items = {"BE1234":"2","BE1923":"3","BE2032":"1", etc} 
------------------------------------------------------------ 
block 1) 
for item in items: 
    cars = db.GqlQuery('SELECT * FROM Car WHERE item=:1',item) 
    items[item] = cars.price 
------------------------------------------------------------ 
block 2) 
for item in items: 
    cars = db.GqlQuery('SELECT * FROM Car WHERE item=:1',item) 
    items.update({item:cars.price}) 

は次のとおりです。

items = {"BE1234":["2","100"],"BE1923":["31","200"],"BE2032":["19","300"], etc}

更新(最終作業コード)

for item in items: 
    cars = db.GqlQuery('SELECT * FROM Car WHERE item=:1',item) 
    for car in cars: 
    items[item]=[items[item],str(car.price)] 
+0

'>>>項目= {」 – shiva

答えて

3

挿入されるようにリスト(値)を構築し、キーの値を更新するだけです: items["BE1234"] = ["2", "100"]

詳細な3210

(シヴァさんのコメントが同じことをやっての「クリーン」な方法があります):

current_val = items["BE1234"] 
new_val = "100"; 
new_array = [current_val, new_val] 
items["BE1234"] = new_array 
+2

クエリはNONEとテーブル車を返していないことは、フィールドの価格を持っていることを確認してください"BE1234"] = [items "'BE1234']、car_price(" BE1234 "):" 2 "、" BE1923 ":" 3 "、" BE2032 ":" 1 "} >>> car_price = 100 >>>アイテム[ ] >>>アイテム {'BE2032': '1'、 'BE1234':['2'、100] 'BE1923': '3'} ' – shiva

+0

ありがとう!素晴らしい仕事を! – mrmo123

+0

簡単な質問...その値を呼び出す方法を知っていますか?だからアイテム= {"BE1234":["2"、 "100"、 "BE1923":["31"、 "200"}}の場合、どうすれば100を得ることができますか? – mrmo123

関連する問題