-
counter 统计功能
查看全部 -
deque 是线程安全的,list不是线程安全的。
查看全部 -
dict 设置默认值的方法:
1、可以通过dict.setdefault(key,default_value)
2、通过defaultdict(可调用的对象)
可调用的对象:list、str、int、dict、函数等
查看全部 -
Tuple的特性
查看全部 -
namedtule创建tuple类
查看全部 -
collections
tuple
namedtuple
defaultdict
ChainMap
OrderedDict
Counter
deque
查看全部 -
将tuple作为参数传递到函数中,直接在tuple变量名前面加上一个*就ok比如
user_tuple=("bobby",29,176)
User(*user_tuple)
字典则加两个*号
但是有一点值得注意的是User函数必须能支持传递tuple,而namedtuple能将User设置成为一个可以传递tuple和dict的函数,具体的操作方位为
User = nn
查看全部 -
浅拷贝只是拷贝了列表中每个元素指向的位置,而不会拷贝如可变对象的所有内容
查看全部 -
namedtuple,defaultdict
查看全部 -
tuple的拆包特性:
tuple = (1,2,3,4,5)
a,b,c,d,e = tuple
a, *ot = tuple
查看全部 -
dict的 key必须是可哈希的,而tuple是iter对象中可哈希的类型,因此,tuple可以用作dict的key
查看全部 -
#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_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)
查看全部 -
基础collections中的数据结构
nameddict
查看全部
举报