python使用建议技巧分享(三)


Posted in Python onAugust 18, 2020

这是一个系列文章,主要分享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 OrderedDict


my_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 建议与技巧的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python使用functools实现注解同步方法
Feb 06 Python
python 实现判断ip连通性的方法总结
Apr 22 Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 Python
python编辑用户登入界面的实现代码
Jul 16 Python
纯python进行矩阵的相乘运算的方法示例
Jul 17 Python
在django view中给form传入参数的例子
Jul 19 Python
Python图像处理之图片文字识别功能(OCR)
Jul 30 Python
tensorflow如何批量读取图片
Aug 29 Python
Python 异步协程函数原理及实例详解
Nov 13 Python
利用python生成照片墙的示例代码
Apr 09 Python
jupyter 使用Pillow包显示图像时inline显示方式
Apr 24 Python
Python中with上下文管理协议的作用及用法
Mar 18 Python
python3跳出一个循环的实例操作
Aug 18 #Python
OpenCV图片漫画效果的实现示例
Aug 18 #Python
Django DRF APIView源码运行流程详解
Aug 17 #Python
Django CBV模型源码运行流程详解
Aug 17 #Python
无惧面试,带你搞懂python 装饰器
Aug 17 #Python
Python Request类源码实现方法及原理解析
Aug 17 #Python
浅谈Python 钉钉报警必备知识系统讲解
Aug 17 #Python
You might like
如何使用Strace调试工具
2013/06/03 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
微信小程序 Image API实例详解
2016/09/30 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
2018/05/08 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
超轻量级的js时间库miment使用解析
2019/08/02 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
python操作MySQL数据库的方法分享
2012/05/29 Python
Python实现Const详解
2015/01/27 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
Django内容增加富文本功能的实例
2017/10/17 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
Python reques接口测试框架实现代码
2020/07/28 Python
jupyter 添加不同内核的操作
2021/02/06 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
上海期货面试题
2014/01/31 面试题
听课评语大全
2014/04/30 职场文书
2015年工程部工作总结
2015/04/30 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
Oracle中日期的使用方法实例
2022/07/07 Oracle