python代码{v: k for k, v in myArray.items()}是什么意思?

最近在扒vnpy的源码总能看到{v: k for k, v in ORDERTYPE_VT2HUOBI.items()}这样的源码,就是不知道什么意思

然后万能的google找到了Quora的一个类似回答,我就按照自己的理解搬过来了

如有不对的地方,评论区见(✿◕‿◕✿)

概述

本质上就是新建一个字典,与原字典相比key和value互换

例如:原字典{'key1':'value1','key2':'value2'}   新字典变为{'value1':'key1','value2':'key2'}

详解

1. 字典由key和value两部分组成,items()方法返回可遍历的(键, 值) 元组数组。

myArray = {'a':'1','b':2}
myArray.items()
'''
输出结果如下
dict_items([('a':'1'),('b','2')])
'''

2. for循环中k和v都是变量,分别遍历了key,value

for k,v in myArray.items()
    print(k,v)
'''
输出结果如下
a 1
b 2
'''

3.代码中v:k代表了v是key,k是value,而k,v则是表示key,value换个位置

{v:k for k,v in myArray.items()}
'''
输出结果如下
{'1':'a','2':'b'}
'''

参考资料:Quora回答

原文地址:https://www.cnblogs.com/mgblog/p/11459628.html