如果一个dict的关键词等于其他词典的价值,那么合并2个词典的最快方法是什么?

时间:2016-10-16 10:01:52

标签: python dictionary

假设我有2个词典

typedef

制作字典3的最快方法是什么

# .pxd cython file cdef extern from "decls.h": Doub # no idea what to put before `Doub`

1 个答案:

答案 0 :(得分:2)

您可以使用词典理解:

$ java -Dlog4j.configuration=file:"./log4j.properties" -cp app-1.0.14.jar APP app.conf

这会迭代dict1 = {(1,1,1) : ('abc'), (2,2,2) : ('def')} dict2 = {('abc') : (1,2,3), ('def') : (4,5,6)} dict3 = {k: dict2[dict1[k]] for k in dict1} >>> print dict3 {(2, 2, 2): (4, 5, 6), (1, 1, 1): (1, 2, 3)} ,并使用dict1中相应的作为键,在{中查找值} {1}}。然后将来自dict1的密钥和来自dict2的值组合在一起以生成新字典。

请注意,在Python 2中,这应该比使用dict1稍快一些,因为这将构建一个临时列表。类似地,迭代dict2返回一个必须创建的迭代器,但这是可以忽略的。直接在字典的密钥上迭代也会产生最小的开销。