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中List.index()方法的使用教程
May 20 Python
在Python中操作时间之mktime()方法的使用教程
May 22 Python
python获取一组数据里最大值max函数用法实例
May 26 Python
详解Python3中yield生成器的用法
Aug 20 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
Apr 18 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
对Django项目中的ORM映射与模糊查询的使用详解
Jul 18 Python
Python GUI学习之登录系统界面篇
Aug 21 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
Nov 01 Python
Python第三方库的几种安装方式(小结)
Apr 03 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
Oct 12 Python
Python利用zhdate模块实现农历日期处理
Mar 31 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
PHP操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
如何检测JavaScript的各种类型
2016/07/30 Javascript
jQuery事件用法详解
2016/10/06 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
Python操作串口的方法
2015/06/17 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
公司寄语大全
2014/04/10 职场文书
期末评语大全
2014/05/04 职场文书
基层领导干部“四风”问题批评与自我批评
2014/09/23 职场文书
爱岗敬业事迹材料
2014/12/24 职场文书
忠诚与背叛观后感
2015/06/04 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
治庸问责工作总结
2015/08/11 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
导游词之镇江焦山
2019/11/21 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技
讨论nginx location 顺序问题
2022/05/30 Servers
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis