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', '塔筒縱向')]