python使用建議技巧分享(三)
這是一個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收獲。
1 如何去掉list中重復(fù)元素
my_list = [3, 2, 1, 1, 2, 3]print my_list# [3, 2, 1, 1, 2, 3]unique_list = list(set(my_list))print unique_list# [1, 2, 3]
或者
from collections import OrderedDictmy_list = [3, 2, 1, 1, 2, 3]print my_list# [3, 2, 1, 1, 2, 3]unique_list = list(OrderedDict.fromkeys(my_list))print unique_list# [3, 2, 1]
前一種方式不會保留list的元素順序,后一種方式會保留list的元素順序。
2 如何讀取dict中的值
不推薦方式
url_dict = { ’google’: ’https://www.google.com/’, ’github’: ’https://github.com/’, ’facebook’: ’https://www.facebook.com/’,}print url_dict[’facebook’]print url_dict[’google’]print url_dict[’github’]# print url_dict[’baidu’]# KeyError: ’baidu’# https://www.facebook.com/# https://www.google.com/# https://github.com/
推薦方式
url_dict = { ’google’: ’https://www.google.com/’, ’github’: ’https://github.com/’, ’facebook’: ’https://www.facebook.com/’,}print url_dict.get(’facebook’, ’https://www.google.com/’)print url_dict.get(’google’, ’https://www.google.com/’)print url_dict.get(’github’, ’https://www.google.com/’)print url_dict.get(’baidu’, ’https://www.google.com/’)# https://www.facebook.com/# https://www.google.com/# https://github.com/# https://www.google.com/
前一種方式讀取一個不存在的key時,會導(dǎo)致KeyError,例如print url_dict[‘baidu’],因為字典中不存在baidu,所以會導(dǎo)致KeyError。后一種方式使用字典的get方法,如果key不存在,不會產(chǎn)生KeyError,如果給了默認(rèn)值,會返回默認(rèn)值,否則返回None。
3 如何排序字典
unordered_dict = {’c’: 1, ’b’: 2, ’a’: 3}print sorted(unordered_dict.items(), key=lambda e: e[1])# [(’c’, 1), (’b’, 2), (’a’, 3)]print sorted(unordered_dict.items(), key=lambda e: e[0])# [(’a’, 3), (’b’, 2), (’c’, 1)]print sorted(unordered_dict.items(), key=lambda e: e[1], reverse=True)# [(’a’, 3), (’b’, 2), (’c’, 1)]
第一種方式是按字典的value升序排序,第二種方式是按字典的key升序排序,第三種方式是按字典的value降序排序,和第一種方式相反,因為指定了參數(shù)reverse為True。sorted函數(shù)功能挺強大,不止可以排序字典,任何iterable對象都可以排序,如果想深入了解請戳https://docs.python.org/2.7/howto/sorting.html#sortinghowto。
以上就是python使用建議技巧分享(三)的詳細(xì)內(nèi)容,更多關(guān)于python 建議與技巧的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Django視圖類型總結(jié)2. Xml簡介_動力節(jié)點Java學(xué)院整理3. 使用Docker的NFS-Ganesha鏡像搭建nfs服務(wù)器的詳細(xì)過程4. Intellij IDEA 關(guān)閉和開啟自動更新的提示?5. Ajax引擎 ajax請求步驟詳細(xì)代碼6. 解析原生JS getComputedStyle7. idea重置默認(rèn)配置的方法步驟8. IntelliJ IDEA Java項目手動添加依賴 jar 包的方法(圖解)9. Django使用HTTP協(xié)議向服務(wù)器傳參方式小結(jié)10. Spring @Profile注解實現(xiàn)多環(huán)境配置
