1
我有一個小程序,工作得很好。我試圖強迫自己審查\分析我的代碼,以試圖讓我的代碼(和我自己)更好一點。轉換爲字典理解
我在想,如果這個代碼小部分:
temp2 = {}
for key in sorted(temp1.keys()):
temp2[key] = temp1[key]
不能改寫爲字典理解。
由於我的經驗不足,我無法'將' '轉換成理解。
所有循環所做的是取字典temp1
,對其進行排序並將新排序的key:value
對放入temp2
。
正如我上面所說,整個事情的工作原理,但我想學習 找到模式,我可以改善。
因爲你的第二個答案的工作完美我想知道什麼(涉及OrderedDict)第三個選項帶來的表。何時選項#3是更合適的選擇?謝謝。 – MarkS
@MarkS啊,這有點複雜。字典本身是**無序的**,所以根據定義,對字典進行排序註定會失敗。但是現在開始使用3.6個字典**命令**,但正式的這只是一個「實現細節」,可以隨時改變。所以如果你希望它能夠與不同的Python版本一起工作,或者想要「安全地玩」,你絕對必須使用OrderedDict。我大部分都添加了它,因爲如果你需要訂購''OrictDict'',那麼它仍然是最好的做法。 :) – MSeifert