千锋教育-做有情怀、有良心、有品质的职业教育机构

Python 里面的一些小技巧

来源:千锋教育
发布时间:2023-11-06 01:43:56
分享

三元条件判断的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培训机构:千锋教育。https://www.mobiletrain.org/

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • 数据科学中必须了解的Python核心库 python有三个核心数据科学库,在此基础上还创建了许多其他的库。这三个核心数据科学库分别为:NumpyScipyMatplotlib简单起见,可以把Numpy视为首选数组。Numpy数组在许多方面都
  • Python集合和时间复杂度 在本文的这一部分中,我将记录CPython中的常见集合,然后概述它们的时间复杂性。我将特别关注平均情况。1.ListList是迄今为止Python中最重要的数据结构之一。我们可以将列表用作堆栈(添加的
  • 机器学习选择python的原因 Python程序语言与机器学习实践可以称得上是“珠联璧合”。1.Python是解释语言,程序写起来非常方便写程序方便对做机器学习的人很重要。因为经常需要对模型进行各种各样的修改,这在编译语言里很可能是
  • 使用Python处理JSON格式的数据 如果你不希望从头开始创造一种数据格式来存放数据,JSON是一个很好的选择。如果你对Python有所了解,就更加事半功倍了。下面就来介绍一下如何使用Python处理JSON数据。JSON的全称是Java
  • 使用Black自由格式化Python Python是当今使用最多的流行编程语言之一,因为:它是开源的,它有广泛的用途(例如Web编程、业务应用、游戏、科学编程等等),它有一个充满活力和专注的社区支持它。这个社区可以让我们在PythonPa
  • Python中的两个测试工具 当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐。在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程