Yog*_*tpl 0 python dictionary python-3.x
我有2个词典:
d1 = {'a':'python','b':'java','c':'c++','d':'js',........}
d2 = {'1':'a','2':'b','4':'d','3':'c',........}
Run Code Online (Sandbox Code Playgroud)
我需要使用两者创建新词典,第二个dict值应该是新词典的关键,第一个dict值应该是新词典dict的值,如:
result = {'1':'python','2':'java','3':'c++','4':'js',........}
Run Code Online (Sandbox Code Playgroud)
我尝试这样做:
d2_rev = {j:i for i,j in d2.items()}
result = {i:d2_rev[i] for i,j in d2_rev }
Run Code Online (Sandbox Code Playgroud)
我得到正确的输出接受我有非常大的字典和执行需要更多的时间.我有什么办法可以提高这段代码的速度吗?
我不知道你为什么要创建一个额外的(切换的)字典,你可以使用:
result = {i: d1[j] for i, j in d2.items()}
Run Code Online (Sandbox Code Playgroud)
并且通过不创建附加内容来减少内存和速度dict.一个dict的值是另一个的关键,直接得到它.
除此之外; 我不认为,仅在Python中,你就能获得更好的结果.
| 归档时间: |
|
| 查看次数: |
263 次 |
| 最近记录: |