栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python中collections模块的使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中collections模块的使用

1. namedtuple

from collections import namedtuple, defaultdict, Counter, deque, OrderedDict

# 创建简单对象,省内存
User = namedtuple("User", ["name", "age", "sex", "edu"])
print User

# 实例化1
u1 = User(name="张三", age=18, sex="男", edu="root")
print u1.name
print u1.age
print u1.sex
print u1.edu


# 实例化2
user_tuple = ("李四", 20, "女", "www")
u2 = User(*user_tuple)
print u2.name
print u2.age
print u2.sex
print u2.edu

# 实例化3
u3 = User._make(user_tuple)
print u3.name
print u3.age
print u3.sex
print u3.edu

print u1._asdict()

2. defaultdict

from collections import namedtuple, defaultdict, Counter, deque, OrderedDict

user_dict = {}
users = ["user1", "user2","user3","user1","user2","user2"]

# 示例1
for user in users:
    user_dict.setdefault(user, 0)
    user_dict[user] += 1
print user_dict


# 示例2
default_dict = defaultdict(int)  # 传入可调用对象
default_dict["user1"]
print default_dict

# 示例3
def gen_default():
    return {"name": "", "age": 0}
default_dict = defaultdict(gen_default)
default_dict["user1"]
print default_dict

3. deque

from collections import namedtuple, defaultdict, Counter, deque, OrderedDict

# 双端队列, 可从左右插入、删除元素
user_list = deque(["name1", "name2", "name3"])
user_list.appendleft("name0")
print user_list


# 有序字典
order_dict = OrderedDict()   # python3 dict()也是按插入顺序
order_dict["c"] = 1
order_dict["b"] = 2
order_dict["a"] = 3
print order_dict


# ChainMap,类似于合并字典, python2没有
dict1 = {"a": "1", "b": "2"}
dict2 = {"d": "1", "c": "2"}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987219.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号