最近在扒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回答