时间:2021-05-22
三元条件判断的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
利用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]
使用列表
a,b=2,7
c = [b,a][a>b]
分析:若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) 1D.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 npfrom PIL import Imageimg = 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.声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本篇不是教给大家如何去学习python,有需要详细深入学习的朋友可以参阅:Python基础语言学习笔记总结(精华)本文通过一周快速学习python入门知识总计了
淘宝差评卖家都有收到过,那么淘宝差评怎么处理呢?淘宝差评有哪些处理技巧呢?小编为你们总结了淘宝差评处理技巧,一起学习学习吧! 卖家若是收到差评,首先要考虑
Python学习第一篇。把之前学习的Python基础知识总结一下。一、认识Python首先我们得清楚这个:Python这个名字是从MontyPython借鉴过来
本文实例总结了Python常用的小技巧。分享给大家供大家参考。具体分析如下:1.获取本地mac地址:importuuidmac=uuid.uuid1().hex
前言本文主要给大家总结介绍了关于Python的一些基础技巧,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。1.startswith()和end