-
#Counter:傳入可迭代對象 from?collections?import?Counter users?=?["bobby1",?"bobby2",?"bobby3",?"bobby1",?"bobby2",?"bobby2"] user_counter?=?Counter(users) print(user_counter)?#打印出dict并按鍵值大小順序排列:Counter({"bobby2":3,"bobby1":2,"bobby3":1}) user_counter?=?Counter("adgdfcdg")?#傳遞字符串,統(tǒng)計每個字符的次數(shù) user_counter.update("djgidg")?#傳遞可迭代對象并且合并 user_counter2?=?Counter("djgidg") user_counter.update(user_counter2)?#傳遞Counter #top?n,堆 user_counter.most_common(2)?#統(tǒng)計出現(xiàn)次數(shù)最多的前2個元素?-->[('d',4),('s',3)]
查看全部 -
user_list?=?["bobby",?"bobby2"] user_name?=?user_list.pop()?#pop只能對隊尾進行操作 print(user_name,?user_list)?#-->bobby2?["bobby"] #deque雙端隊列:對隊列兩端進行操作,盡量保存相同類型數(shù)據(jù) from?collections?import?deque user_tuple?=?deque(("bobby1",?"bobby2"))? user_list?=?deque(["bobby1",?"bobby2"]) user_dict?=?deque({"bobby1":28,?"bobby2":29})?#以上三種打印結(jié)果一樣:deque(['bobby1',?'bobby2']) user_deque?=?deque(["bobby1",?"bobby2",?"bobby3"]) user_deque.appendleft("bobby8")?#在隊列頭部添加 #deque是線程安全的,list不是
查看全部 -
user_dict?=?{} users?=?["bobby1",?"bobby2",?"bobby3",?"bobby1",?"bobby2",?"bobby2"] #第一種形式 for?user?in?users: ????if?user?not?in?user_dict: ????????user_dict[user]?=?1 ????else: ????????user_dict[user]?+=?1 ???????? #第二種形式 for?user?in?users: ????user_dict.setdefault(user,?0)?#若user鍵不存在,設(shè)為默認(rèn)值0 ????user_dict[user]?+=?1 ???? from?collections?import?defaultdict default_dict?=?defaultdict(list)?#在bobby鍵不存在時,調(diào)用傳遞對象的名稱list,生成空數(shù)組 default_dict["bobby"] #第三種形式 default_dict?=?defaultdict(int)?#默認(rèn)傳遞0 for?user?in?users: ????default_dict[user]?+=?1 #如果生成嵌套的dict??? def?gen_default(): ????return?{"name":"",?"nums":0} default_dict?=?defaultdict(gen_default) default_dict["group1"]?#沒有g(shù)roup1時傳遞gen_default函數(shù)
查看全部 -
#拆包特性 user_tuple?=?("bobby",?29,?175) name,?age,?height?=?user_tuple print(name,?age,?height)?#-->bobby?29?175 user_tuple?=?("bobby",?29,?175,?"beijing") name,?*other?=?user_tuple print(name,?other)?#-->bobby?[29,?175,?"beijing"] #元組的不可變不是絕對的 name_tuple?=?("bobby1",?[29,?175]) name_tuple[1].append(22) print(name_tuple)?#("bobby1",?[29,?175,?22]) #tuple是可哈希的,可以當(dāng)做dict的key;而數(shù)組list不可以 user_info_dict?=?{} user_info_dict[user_tuple]?=?"bobby" #namedtuple from?collections?import?namedtuple User?=?namedtuple("User",?["name",?"age",?"height"])?#創(chuàng)建class“User”,并傳遞屬性"name",?"age",?"height"] user?=?User(name="bobby",?age=29,?height=175)?#也可使用下面兩種方式進行初始化 print(user.age,?user.name,?user.height)?#像使用類一樣 #使用tuple進行初始化 user_tuple?=?("bobby",?29,?175) user?=?User(*user_tuple)?#加*代表依次傳遞tuple(*args:未指明變量名) #使用dict進行初始化 user_dict?=?{"name":"bobby",?"age":29,?"height":175} user?=?User(**user_dict)?#加**代表依次傳遞dict(**kwargs:指明變量名和值) #也可使用_make函數(shù)省去*和**,_make函數(shù)支持可迭代iterable的對象:list、tuple、dict user?=?User._make(user_tuple) user?=?User._make(user_list) user?=?User._make(user_dict)
查看全部 -
namedtuple本質(zhì)是一個類,將tuple結(jié)構(gòu)以類.屬性的方式來訪問,常用于數(shù)據(jù)處理中。查看全部
-
dequeue 線程安全查看全部
-
基礎(chǔ)collections中的數(shù)據(jù)結(jié)構(gòu)
nameddict
查看全部 -
深拷貝:將拷貝的數(shù)據(jù)和數(shù)據(jù)的類型都拷貝
查看全部 -
collections模塊
查看全部 -
_make函數(shù),省去*和**,簡單很多
查看全部 -
*args存儲函數(shù)傳參的值(未指明變量名的情況),**kwargs存儲的是指明變量名和值的情況 前者是tuple,后者是dict
查看全部 -
深拷貝的意思就是會為引用類型的數(shù)據(jù)也拷貝一份
查看全部 -
tuplelist
查看全部 -
tuble功能
查看全部 -
collections模塊
查看全部
舉報
0/150
提交
取消