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"}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值