Python 里面的一些小技巧
三元条件判断的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相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/
相关推荐HOT
更多>>python函数标注是什么
python函数标注是什么在参数的使用方法中,还有一种解包的情况是需要我们掌握的。比如,将列表或者字典的值转换为函数的参数,就需要用到参数解...详情>>
2023-11-14 14:13:35python正负索引的使用
python正负索引的使用本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、说明使用正索引(从左至右)、负索引(从右至左)访问元素,时...详情>>
2023-11-14 13:45:04python垃圾回收的机制过程
python垃圾回收的机制过程本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、步骤(1)收集所有容器对象(list,dict,tuple,customClas...详情>>
2023-11-14 13:05:15pythontry语句的执行原理
pythontry语句的执行原理1、原理分析(1)执行try子句(try和except关键字之间的多行语句)。(2)如果没有异常发生,则跳过except子句并完成try语句...详情>>
2023-11-14 09:37:35