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)
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python常用功能_python----常用功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员的桌面壁纸
- 下一篇: python怎么清除代码_Python如