-
#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")?#傳遞字符串,統計每個字符的次數 user_counter.update("djgidg")?#傳遞可迭代對象并且合并 user_counter2?=?Counter("djgidg") user_counter.update(user_counter2)?#傳遞Counter #top?n,堆 user_counter.most_common(2)?#統計出現次數最多的前2個元素?-->[('d',4),('s',3)]
查看全部 -
user_list?=?["bobby",?"bobby2"] user_name?=?user_list.pop()?#pop只能對隊尾進行操作 print(user_name,?user_list)?#-->bobby2?["bobby"] #deque雙端隊列:對隊列兩端進行操作,盡量保存相同類型數據 from?collections?import?deque user_tuple?=?deque(("bobby1",?"bobby2"))? user_list?=?deque(["bobby1",?"bobby2"]) user_dict?=?deque({"bobby1":28,?"bobby2":29})?#以上三種打印結果一樣: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鍵不存在,設為默認值0 ????user_dict[user]?+=?1 ???? from?collections?import?defaultdict default_dict?=?defaultdict(list)?#在bobby鍵不存在時,調用傳遞對象的名稱list,生成空數組 default_dict["bobby"] #第三種形式 default_dict?=?defaultdict(int)?#默認傳遞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"]?#沒有group1時傳遞gen_default函數
查看全部 -
#拆包特性 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是可哈希的,可以當做dict的key;而數組list不可以 user_info_dict?=?{} user_info_dict[user_tuple]?=?"bobby" #namedtuple from?collections?import?namedtuple User?=?namedtuple("User",?["name",?"age",?"height"])?#創建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函數省去*和**,_make函數支持可迭代iterable的對象:list、tuple、dict user?=?User._make(user_tuple) user?=?User._make(user_list) user?=?User._make(user_dict)
查看全部 -
namedtuple本質是一個類,將tuple結構以類.屬性的方式來訪問,常用于數據處理中。查看全部
-
dequeue 線程安全查看全部
-
基礎collections中的數據結構
nameddict
查看全部 -
深拷貝:將拷貝的數據和數據的類型都拷貝
查看全部 -
collections模塊
查看全部 -
_make函數,省去*和**,簡單很多
查看全部 -
*args存儲函數傳參的值(未指明變量名的情況),**kwargs存儲的是指明變量名和值的情況 前者是tuple,后者是dict
查看全部 -
深拷貝的意思就是會為引用類型的數據也拷貝一份
查看全部 -
tuplelist
查看全部 -
tuble功能
查看全部 -
collections模塊
查看全部
舉報
0/150
提交
取消