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中将元组转换成列表的方法是使用list()进行转换。使用示例:>>>T=(11,33,22,44)#元组对象>>>L=list(T)#转变为列表对象另外,可以使用tupl...详情>>
2023-11-06 20:15:08
python如何求次幂?
python中可以使用math模块中的pow()方法求次幂。pow()方法返回xy(x的y次方)的值。math模块pow()方法的语法:importmathmath.pow(x,y)示例:#!/u...详情>>
2023-11-06 18:27:10
python怎么import另一个python文件?
python使用import导入python文件的方法:示例:有a.py和b.py两个文件,当我们需要在b.py文件中应用a.py中的func()函数时,导入方法如下:同一文...详情>>
2023-11-06 17:47:37
python怎么判断文件夹下是否存在文件?
python判断文件夹下是否存在文件的方法:1、使用os.path.exists()方法判断文件是否存在importosos.path.exists(test_file.txt)#Trueos.pat详情>>
2023-11-06 14:20:14