首页 / 知识
Python 里面的一些小技巧
2023-11-12 13:37:00
三元条件判断的3种实现方法
C语言中有三元条件表达式,如a>b?a:b,Python中没有三目运算符(?:),但Python有它自己的方式来实现类似的功能。这里介绍3种方法:
true_partifconditionelsefalse_part
a,b=2,3
c=aifa>belseb
a,b=2,1
c=aifa>belseb
>>>printc
利用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>band[a]or[b])[0]
>>>printc
使用列表
a,b=2,7
c=[b,a][a>b]
>>>printc
分析:若a>b为真,由于真用1表示,因此相当于c=[b,a][1],即c=a
若a>b为假,由于假用0表示,因此相当于c=[b,a][0],即c=b
>>>int(False)
0
>>>int(True)
字典(dict)
以下问题都是在用Python写KNN的时候遇到的:
dict_items()
python字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:
1下面的是按照value的值从大到小的顺序来排序。
输出的结果:
[(‘aa’,74),(‘a’,31),(‘bc’,5),(‘asd’,4),(‘c’,3),(‘d’,0)]
下面我们分解下代码:
printdic.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=lambdad: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]ifkinD,elsed.ddefaultstoNone.
如果k在字典中,返回D[k],即value值,否则返回d,d默认为None
Image和Ndarray互相转换
importnumpyasnp
fromPILimportImage
img=Image.open(filepath)
img_convert_ndarray=np.array(img)
ndarray_convert_img=Image.fromarray(img_convert_ndarray)
#np.array(object)这个函数很强大啊,看源码里面给的注释
#object:array_like
#Anarray,anyobjectexposingthearrayinterface,anobjectwhose
#__array__methodreturnsanarray,orany(nested)sequence.
以上内容为大家介绍了Python里面的一些小技巧,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
Python的字典排序
Python的字典排序,代码,数据,培训,字典,函数,表达式,内容,列表,排列,问题,字典是Python语言中的一种数据结构,每一个字典元素是由一对key-valu为何你的Python代码应是扁平与稀疏
为何你的Python代码应是扁平与稀疏的,代码,培训,信息,观察,设计,工具,嵌套,闻闻,程序员,沉思,Python之禅之所以得名,正是由于它那简明扼要的规Python之关于高效使用字典的清单
Python之关于高效使用字典的清单,代码,数据,字典,培训,扩大,时报,方式,方法,对象,列表,字典(dict)对象是Python最常用的数据结构,社区曾有人开Python性能分析
Python性能分析,代码,分析,对比,时间,工具,标准,注释,跨行,通用,报告,python标准库提供两个代码性能分析相关的模块,即timeit和cProfile/profiPython生成表达式和列表解析
Python生成表达式和列表解析,工具,培训,列表,表达式,生成器,嵌套,计算所,元素,两个,动作,生成器表达式(Generatorexpression)和列表解析(Listpython阅读代码有助于养成优秀的代
python阅读代码有助于养成优秀的代码风格,代码,培训,统一,项目,名字,风格,注释,可读性,顾名思义,成份,“优秀的代码不需要文档”,这句话虽然说Python 条件对象
Python 条件对象,状态,培训,对象,条件,线程,方法,底层,发生,场景,典型,条件对象总是与某种类型的锁对象相关联,锁对象可以通过传入获得,或者在python 的内置字典
python 的内置字典,时间,环境,培训,数据,元素,方法,放入,定义,顺序,对象,python内置了字典:dict(key-value存储方式)的支持,dict全称dictionarypython 列表元素的删除
python 列表元素的删除,代码,数据,位置,连续,异常,首次,培训,元素,列表,空隙,使用del命令删除列表中的指定位置上的元素。>>>a_list=[3,5,7,9python 列表元素访问与计数
python 列表元素访问与计数,异常,首次,培训,列表,元素,下标,对象,方法,次数,以上,使用下标直接访问列表元素,如果指定下标不存在,则抛出异常。>python 列表排序
python 列表排序,培训,对象,列表,升序,逆序,方法,函数,原地,元素,降序,使用列表对象的sort()方法进行原地排序,支持多种不同的排序方法。>>>aLpython中字典遍历时如何同时获得键
python中字典遍历时如何同时获得键和值?,培训,字典,方法,数组,语法,实例,以上,时候,更多,内容,1、item()方法把字典中每对key和value组成一个