Python對字典根據鍵值分組進行排序


In[1]: 
dic = {'drivechain_1': '前主軸承徑向',
 'drivechain_10': '發電機非驅動端軸承',
 'drivechain_11': '發電機轉子',
 'drivechain_2': '后主軸承徑向',
 'drivechain_3': '齒輪箱內齒圈徑向',
 'drivechain_4': '齒輪箱高速軸葉輪側徑向/軸向',
 'drivechain_5': '齒輪箱低速軸電機側徑向',
 'drivechain_6': '齒輪箱中間軸電機側徑向',
 'drivechain_7': '齒輪箱中間軸葉輪側軸向',
 'drivechain_8': '齒輪箱高速軸電機側徑向',
 'drivechain_9': '發電機驅動端軸承',
 'tower_1': '塔筒橫向',
 'tower_2': '塔筒縱向',
 'nacelle_1': '機艙傳動鏈方向',
 'nacelle_2': '機艙垂直傳動鏈方向'}

sorted(dic.items(), key=lambda x: (x[0].split('_')[0], int(x[0].split('_')[1])))
Out[1]: 
[('drivechain_1', '前主軸承徑向'),
 ('drivechain_2', '后主軸承徑向'),
 ('drivechain_3', '齒輪箱內齒圈徑向'),
 ('drivechain_4', '齒輪箱高速軸葉輪側徑向/軸向'),
 ('drivechain_5', '齒輪箱低速軸電機側徑向'),
 ('drivechain_6', '齒輪箱中間軸電機側徑向'),
 ('drivechain_7', '齒輪箱中間軸葉輪側軸向'),
 ('drivechain_8', '齒輪箱高速軸電機側徑向'),
 ('drivechain_9', '發電機驅動端軸承'),
 ('drivechain_10', '發電機非驅動端軸承'),
 ('drivechain_11', '發電機轉子'),
 ('nacelle_1', '機艙傳動鏈方向'),
 ('nacelle_2', '機艙垂直傳動鏈方向'),
 ('tower_1', '塔筒橫向'),
 ('tower_2', '塔筒縱向')]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM