python - 在python中向预先存在的字典键添加一个值

标签 python google-app-engine gql gqlquery

我一直在尝试向预先存在的字典键添加值。该值来自 db.Model Car,其属性名为 price

尝试了两个代码块(如下),但收到了 AttributeError: 'GqlQuery' object has no attribute '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"]等}

更新(最终工作代码)

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)]

最佳答案

构造一个要插入的列表(值)并仅更新键的值: items["BE1234"] = ["2", "100"]

详细(Shiva 的评论有一种“更干净”的方式来做同样的事情):

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

关于python - 在python中向预先存在的字典键添加一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10370163/

相关文章:

python - 回调问题 FailedPreconditionError

java - Google App Engine 中的哈希密码和实例小时配额

google-app-engine - 使用引用属性过滤器进行服务器端管理控制台查询的 GQL 示例

google-app-engine - 测试上传的应用程序,而不是默认版本

android - App Engine 和 Google 游戏服务 clientId 冲突

python - gqlQuery 返回对象,想要键列表

python - Google AppEngine 复杂的 WHERE 条件

python - 翻译 argparse 的内部字符串

Python 多处理问题?

python - 在 Flask-admin 中搜索非文本列