python使用建议技巧分享(三)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
1 如何去掉list中重复元素
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时,会导致KeyError,例如print url_dict[‘baidu’],因为字典中不存在baidu,所以会导致KeyError。后一种方式使用字典的get方法,如果key不存在,不会产生KeyError,如果给了默认值,会返回默认值,否则返回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降序排序,和第一种方式相反,因为指定了参数reverse为True。sorted函数功能挺强大,不止可以排序字典,任何iterable对象都可以排序,如果想深入了解请戳https://docs.python.org/2.7/howto/sorting.html#sortinghowto。
以上就是python使用建议技巧分享(三)的详细内容,更多关于python 建议与技巧的资料请关注好吧啦网其它相关文章!
相关文章:
1. Spring MVC+ajax进行信息验证的方法2. Python查询oracle数据库速度慢的解决方案3. Ajax返回值类型与用法实例分析4. Java集合功能与用法实例详解5. vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作6. Docker部署ELK7.3.0日志收集服务最佳实践7. docker 报错 Exited (1) 4 minutes ago的原因分析8. 解决docker CMD/ENTRYPOINT执行sh脚本报: not found/run.sh:9. 通过IEAD+Maven快速搭建SSM项目的过程(Spring + Spring MVC + Mybatis)10. golang recover函数使用中的一些坑解析