假设我有2个词典
typedef
制作字典3的最快方法是什么
# .pxd cython file
cdef extern from "decls.h":
Doub # no idea what to put before `Doub`
?
答案 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
返回一个必须创建的迭代器,但这是可以忽略的。直接在字典的密钥上迭代也会产生最小的开销。