python:isinstance用法

isinstance(object,type)#只要object是type类型,返回True;否则返回False

作用:来判断一个对象是否是一个已知的类型。

其第一个参数(object)为对象,第二个参数(type)为类型名(int…)或类型名的一个列表((int,list,float)是一个列表)。其返回值为布尔型(True or flase)。

若对象的类型与参数二的类型相同则返回True。若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True。


>>> a = 4
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))
True
>>> a = "b"
>>> isinstance(a,str)
True
>>> isinstance(a,int)
False
>>> isinstance(a,(int,list,float))
False
>>> isinstance(a,(int,list,float,str))
True

比如,我要访问一个列表中含有字典类型的数据,就需要判断是不是字典类型

a=[1,2,3,{4:'a'},5,{'b':6},7]

for x in a:

    if isinstance(x,dict):  #判断x是不是dict类型

        for k,v in x.items():

            print v

这里补充一下,该怎么

循环访问字典中的元素
dic = {'a':3,'c':1,'b':2}
print(dic.items())  # dic.items()字典key-value对
print(dic.keys())   # dic.keys() --- >key
print(dic.values()) # dic.values() --- >value

#循环访问
for x,y in dic.items():
    dic[x] =  y+10 #更改value
print(dic)

#若只想访问字典中的key或者value的话,使用如下方法:
for x in dic.keys():
    x += '1'   #这是错误的,key不能修改
print(dic)

for y in dic.values():
    y += 1   #更改value
print(dic)
字典元素排序(按key、value排序)

先来基本介绍一下sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。

其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等,

key是一个函数,用来选取参与比较的元素,一般使用lambda表达式

reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。

lambda表达式

功能: 创建匿名函数

区别: 和def函数定义,以下两点区别

lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符;而def则会把函数对象赋值给一个变量
lambda它只是一个表达式,而def则是一个语句

这里写图片描述
具体排序用法:

a = sorted(dic.items(),key = lambda asd:asd[1],reverse=True) #字典按key - value排序
#排序之后 a是一个列表,每个元素是一个tuple元祖;可通过a[i][0]访问,和访问二维数组相同

经过排序之后,字典变成了列表类型;列表中每个元素是一个tuple

这里写图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值