python的功能名_python----常用功能

sintance和type

class Foo(object):

pass

class Bar(Foo):

pass

obj = Bar()

# isinstance用于判断,对象是否是指定类的实例 (错误的)

# isinstance用于判断,对象是否是指定类或其派生类的实例

# isinstance不精准

print(isinstance(obj,Foo),id(obj)) #True 35558624

print(isinstance(obj,Bar),id(obj)) #True 35558624

print(type(obj)==Foo) #False

print(type(obj)==Bar) #True

json

import json

v = {"name":"海燕","age":22}

str_dic = json.dumps(v)

print(json.dumps(v),type(str_dic)) #{"name": "\u6d77\u71d5", "age": 22}

print(json.dumps(v,ensure_ascii=False)) #{"name": "海燕", "age": 22}

OrderedDict

使用字典时,key是无序的。在对字典做迭代时,我们无法确定key的顺序。如果要保持key的顺序,可以用OrderedDict

from collections import OrderedDict

od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])

for i in od.keys():

print(i)

Counter

计数器

from collections import Counter

c = Counter('abcdeabcdabcaba')

print(c["a"]) #5

defaultdict

from collections import defaultdict

values = [11,22,33,44,55,66,77,88,99]

my_dict = defaultdict(list)

for v in values:

if v>66:

my_dict['k1'].append(v)

print(my_dict)

模拟defaultdict

values = [11,22,33,44,55,66,77,88,99]

my_dict = {}

for v in values:

if v>66:

if "k1" in my_dict.keys():

my_dict['k1'].append(v)

else:

my_dict["k1"]=[]

my_dict['k1'].append(v)

print(my_dict)

deque

是为了高效实现插入和删除操作的双向队列,适用于队列和栈

from collections import deque

q = deque(['a','b','c'])

q.append('ee')#添加元素

q.append('ff')

q.append('qq')

print(q)

q.appendleft('www')#从左边添加

print(q)

q.pop() #删除元素

q.popleft() #从左边删除元素

print(q)

元祖的排序

anwsers = [(1,2),(3,2),(2,2)]

x = sorted(anwsers,key=lambda x:x[0],reverse=True)

print(x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值