首页 > 其他 > 详细

collections模块之defaultdict()与namedtuple()方法简单介绍

时间:2019-10-24 00:59:22      阅读:64      评论:0      收藏:0      [点我收藏+]

一、defaultdict()

作用:根据数据创建字典时,需要为一些数据生成字典,而且对值得类型进行限定的时候,考虑defaultdict

from collections import defaultdict

list_01 = [(Apple, 10), (Pen, 20), (Apple, 30), (Pen, 40), (Banana, 33)]

d01 = defaultdict(list)  # 生成一个defaultdict对象
for k, v in list_01:
    d01[k].append(v)

print(d01)  # defaultdict(<class ‘list‘>, {‘Apple‘: [10, 30], ‘Pen‘: [20, 40], ‘Banana‘: [33]})
print(dict(d01.items()))  # {‘Apple‘: [10, 30], ‘Pen‘: [20, 40], ‘Banana‘: [33]}
print(list(d01.items()))  # [(‘Apple‘, [10, 30]), (‘Pen‘, [20, 40]), (‘Banana‘, [33])]

补充理解:

list_01 = [(Apple, 10), (Pen, 20), (Apple, 30), (Pen, 40), (Banana, 33)]

dict01 = {}
for k, v in list_01:
    dict01.setdefault(k, []).append(v)

print(dict01)
print(list(dict01.items()))

二、namedtuple()

namedtuple是继承自tuple的子类。namedtuple和tuple比,有更多更酷的特性。namedtuple创建一个和tuple类似的对象,而且对象拥有可以访问的属性。这对象更像带有数据属性的类,不过数据属性是只读的。

 技术分享图片

 

collections模块之defaultdict()与namedtuple()方法简单介绍

原文:https://www.cnblogs.com/suguangti/p/11728823.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!