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的批量远程管理和部署工具Fabric用法实例
Jan 23 Python
Pyhton中防止SQL注入的方法
Feb 05 Python
详解Python3中的Sequence type的使用
Aug 01 Python
python图片验证码生成代码
Jul 02 Python
Python基于Socket实现的简单聊天程序示例
Aug 05 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 Python
用python求一重积分和二重积分的例子
Dec 06 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
Python读取yaml文件的详细教程
Jul 21 Python
matplotlib基础绘图命令之errorbar的使用
Aug 13 Python
Python 创建守护进程的示例
Sep 29 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
人族 Terran 魔法与科技
2020/03/14 星际争霸
adodb与adodb_lite之比较
2006/12/31 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
文本框只能选择数据到文本框禁止手动输入
2013/11/22 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
js日期范围初始化得到前一个月日期的方法
2015/05/05 Javascript
JS中Location使用详解
2015/05/12 Javascript
javascript中使用new与不使用实例化对象的区别
2015/06/22 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
微信小程序 页面跳转及数据传递详解
2017/03/14 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
vue之延时刷新实例
2019/11/14 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
python中使用mysql数据库详细介绍
2015/03/27 Python
python 实现删除文件或文件夹实例详解
2016/12/04 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
澳大利亚床上用品、浴巾和家居用品购物网站:Bambury
2020/04/16 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
生产车间主任的个人自我鉴定
2013/10/25 职场文书
专业销售业务员求职信
2013/11/18 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
2015年教育实习工作总结
2015/04/24 职场文书