python - 如何从两个词典创建列表?

标签 python list google-app-engine dictionary google-cloud-datastore

我正在尝试写入 GAE 数据存储中的模型,该模型将包含三个字段:日期、整数、整数。

class fusSent(db.Model):
    """ Models a list of the follow-ups due and follow-ups sent """
    date_created = db.DateTimeProperty(auto_now_add=True)
    fu_date = db.DateProperty()
    fus_due = db.IntegerProperty()
    fus_sent = db.IntegerProperty()

此数据来自两个具有匹配键(日期)的不同词典。见下文。

fus_d = {2013-01-01: 1, 2013-04-01: 1, 2013-02-01: 1, 2013-03-01: 1}
fus_s = {2013-01-01: 0, 2013-04-01: 0, 2013-02-01: 1, 2013-03-01: 1} 

我的猜测是我需要将字典组合成一个列表(如下所示)以便将其保存到数据存储区。但是,我不完全确定这是最好的方法。

fu_list = [(2013-01-01, 1, 0), (2013-04-01, 1, 0), (2013-02-01, 1, 1), (2013-03-01, 1, 1)]

最佳答案

我希望 fus_dfus_s 字典实际上有日期,因为您的 2013-01-01 示例实际上是一个求值的数学表达式到 2011。但以下应该有效

s = set(fus_d.keys())
s.update(fus_s.keys())
fu_list = [(k, fus_d.get(k), fus_s.get(k)) for k in s]

编辑:对于 python 2.7,您还可以直接从字典中使用 viewkeys 而不是使用 set

fu_list = [(k, fus_d.get(k), fus_s.get(k)) for k in fus_d.viewkeys() | fus_s]

关于python - 如何从两个词典创建列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17033085/

相关文章:

python - 使用 Python 为 GCS PUT 请求在 GAE 上签名的 URL

java - Android studio 编译报错IllegalArgumentException

Python散点图根据值绘制不同的颜色

python - 如何从自定义 COCO 数据集中保存图像,并将其注释叠加在其上

python - 使用 Flask Server 在网页中显示从 Google Firebase 导入的 json 数据

python - 使用 Google Cloud Function 的 SSH 隧道

python - 将列表的每个元素与另一个列表的相应元素进行比较的最快方法是什么?

python - 将列表或单个整数作为参数处理

java - Java 类 java.util.ArrayList 的消息体编写器

google-app-engine - 有人在那里使用 web2py 吗?