Python学习小技巧总结


Posted in Python onJune 10, 2018

三元条件判断的3种实现方法

C语言中有三元条件表达式,如 a>b?a:b,Python中没有三目运算符(?:),但Python有它自己的方式来实现类似的功能。这里介绍3种方法:

true_part if condition else false_part

a,b=2,3
c=a if a>b else b

a,b=2,1
c=a if a>b else b

>>> print c
2

利用and-or条件判断的特性来实现三元条件判断

首先介绍一下,and和or的用法:

python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。

无论是列表,元组还是字符串,空表示False,非空表示True

>>> 'python' and [] and (2,3)
[]
>>> 'python' and [2,3] and (3,4)
(3, 4)

or 也是从左到右计算表达式,存在真,则返回第一个为真的值,若均为假,则返回最后一个值。

>>> 'python' or [3,4] or ()
'python'
>>> '' or [] or ()
()

然后,我们利用and-or条件判断的特性来实现三元条件判断:

a,b=2,1
c = (a>b and [a] or [b])[0]

>>> print c
2

使用列表

a,b=2,7
c = [b,a][a>b]

>>> print c
7

分析:若a>b为真,由于真用1表示,因此相当于c=[b,a][1],即c=a

若a>b为假,由于假用0表示,因此相当于c=[b,a][0],即c=b

>>> int(False)
0
>>> int(True)
1

字典(dict)

以下问题都是在用Python写KNN的时候遇到的:

dict_items()

python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:

1 下面的是按照value的值从大到小的顺序来排序。

dic = {‘a':31, ‘bc':5, ‘c':3, ‘asd':4, ‘aa':74, ‘d':0}
dict= sorted(dic.items(), key=lambda d:d[1], reverse = True)
print(dict)

输出的结果:

[(‘aa', 74), (‘a', 31), (‘bc', 5), (‘asd', 4), (‘c', 3), (‘d', 0)]

下面我们分解下代码:

print dic.items() 得到[(键,值)]的列表。

然后用sorted方法,通过key这个参数,指定排序是按照value,也就是元素d[1]的值来排序。reverse = True表示是需要翻转的,默认是从小到大,翻转的话,那就是从大到小。

2 对字典按键(key)排序:

dic = {‘a':31, ‘bc':5, ‘c':3, ‘asd':4, ‘aa':74, ‘d':0}
dict= sorted(dic.items(), key=lambda d:d[0])
print(dict)

dict_get()

dic = {‘a':31, ‘bc':5, ‘c':3, ‘asd':4, ‘aa':74, ‘d':0}

dic.get(‘a',1) 
31 
dic.get(‘d',1) 
0 
dic.get(‘f',1) 
1

D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.

如果k在字典中,返回D[k],即value值,否则返回d,d默认为None

Image和Ndarray互相转换

import numpy as np
from PIL import Image

img = Image.open(filepath)
img_convert_ndarray = np.array(img)
ndarray_convert_img= Image.fromarray(img_convert_ndarray )


# np.array(object) 这个函数很强大啊,看源码里面给的注释
# object : array_like
#      An array, any object exposing the array interface, an object whose
#      __array__ method returns an array, or any (nested) sequence.
Python 相关文章推荐
python解析xml模块封装代码
Feb 07 Python
使用Python脚本来获取Cisco设备信息的示例
May 04 Python
python matplotlib 注释文本箭头简单代码示例
Jan 08 Python
python3.x上post发送json数据
Mar 04 Python
详解Python如何生成词云的方法
Jun 01 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
Dec 31 Python
Python闭包和装饰器用法实例详解
May 22 Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 Python
Django如何使用jwt获取用户信息
Apr 21 Python
使用Keras构造简单的CNN网络实例
Jun 29 Python
python识别验证码的思路及解决方案
Sep 13 Python
python的setattr函数实例用法
Dec 16 Python
python计算两个地址之间的距离方法
Jun 09 #Python
python 对dataframe下面的值进行大规模赋值方法
Jun 09 #Python
pandas 对每一列数据进行标准化的方法
Jun 09 #Python
Python实现读写INI配置文件的方法示例
Jun 09 #Python
Python实现读取机器硬件信息的方法示例
Jun 09 #Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
Jun 09 #Python
Python操作mongodb数据库进行模糊查询操作示例
Jun 09 #Python
You might like
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
form中限制文本字节数js代码
2007/06/10 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
JS和函数式语言的三特性
2014/03/05 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
基于JavaScript实现移除(删除)数组中指定元素
2016/01/04 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
解析js如何获取css样式
2016/12/11 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
[51:43]OG vs LGD 2018国际邀请赛淘汰赛BO3 第五场 8.26
2018/08/30 DOTA
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python利用elaphe制作二维条形码实现代码
2012/05/25 Python
用Python编写一个国际象棋AI程序
2014/11/28 Python
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
Python 使用threading+Queue实现线程池示例
2019/12/21 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
python入门:argparse浅析 nargs='+'作用
2020/07/12 Python
python实现无边框进度条的实例代码
2020/12/30 Python
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
学院书画协会部门岗位职责
2013/12/01 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
社区党建工作汇报材料
2014/08/14 职场文书
2015年银行个人工作总结
2015/05/14 职场文书
老人与海读书笔记
2015/06/26 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书