首页
学习
活动
专区
圈层
工具
发布

python高级用法之命名元组namedtuple

namedtuple 介绍: namedtuple()是产生具有命名字段的元组的工厂函数,namedtuple 比普通tuple具有更好的可读性,可以使代码更易于维护。...namedtuple还有一个非常好的一点是,它与tuple是完全兼容的。也就是说,我们依然可以用索引去访问一个namedtuple。...namedtuple()调用方式如下: from collections import namedtuple namedtuple(typename, field_names, *, verbose=False...下面演示namedtuple的具体用法: from collections import namedtuple userinfo = namedtuple('user_obj', ['name', 'age...谈一下我对namedtuple的认知: 感觉namedtuple跟java编程里面的javabean实体类比较相似,定义了一个class,以及class下的一些属性值,每创建一条namedtuple的数据都是生成了对应

66410

(三十八) 初遇python之NamedTuple命名元组

各位读者大大们大家好,今天学习python的NamedTuple命名元组,并记录学习过程欢迎大家一起交流分享。 ?...新建一个python文件命名为py3_namedtuple.py,在这个文件中进行操作代码编写: #namedtuple就像普通的tuple元组一样 #但是它的可读性更好 #是一个高性能容器数据类型...from collections import namedtuple #定义一个普通的颜色元组 #Red:55 Green:155 Blue:255 color =(55,155,255) #这里我们打印红色对应的值...'blue':255} #获取红色的值 print(color_dict['red'])#55 #可读性好了一些 #但是字典是可变的 #如果红色的值被改变了 #这里就很容易造成混淆 #接下来我们看使用namedtuple...的方式: Color = namedtuple('Color',['red','green','blue']) color = Color(55,155,255) #打印红色值 print(color.red

43520
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python学习笔记之容器(Collections)

    from collections import namedtuple Animal = namedtuple('Animal', 'name age type') perry = Animal(name...namedtuple让你的元组变得自文档了。你只要看一眼就很容易理解代码是做什么的。 你也不必使用整数索引来访问一个命名元组,这让你的代码更易于维护。...而且,namedtuple的每个实例没有对象字典,所以它们很轻量,与普通的元组比,并不需要更多的内存。这使得它们比字典更快。...然而,要记住它是一个元组,属性值在namedtuple中是不可变的,所以下面的代码不能工作: from collections import namedtuple Animal = namedtuple...: from collections import namedtuple Animal = namedtuple('Animal', 'name age type') perry = Animal(name

    58410

    标准库 collections 中 4 个常用的数据结构

    这个库提供了命名的元组,可以通过指定的名称来访问,例如: from collections import namedtuple Point = namedtuple("Point", ['x','y'...,'z']) p = Point(3,4,5) print(p.x, p.y, p.z) #Output: 3, 4, 5 namedtuple 函数把第一个参数作为新元组的名称,第二个参数就是元组内元素的名称映射...Point = namedtuple("Point", "x y z") Point = namedtuple("Point", "x,y,z") 也可以这样初始化,非常灵活: p1 = Point(..._make([3,4,5]) 还可以使用 namedtuple 来设置默认值: PointDef = namedtuple("PointDef", "x, y, z", defaults = [0,0,0...]) p = PointDef(x=1) # p is (1,0,0) 如果你定义了三个名称,却提供了两个默认值,那么只有最后两个会被赋予默认值: Point = namedtuple("Point"

    31230

    【python高级编程】namedtuple用法--给元组中的每个元素命名

    参考链接: Python中的命名元组Namedtuple 为什么要给元组中的每个元素命名  给每个元组中的元素命名,我们就可以使用名字去访问对应元素,相对于索引访问,这样可以大大提高程序的可读性。 ...假设我们有一个元组,从0-2的索引分别对饮与,NAME,AGE,GRADE,我们可以用以下方式去完成:  NAME, AGE, GRADE = range(0, 3) 使用namedtuple  namedtuple...在使用普通的元组时,我们只能通过索引下标去访问对应元素,而namedtuple,我们既可以使用索引下标去访问,也可以通过名字去访问,增加了代码的可读性。 ...下面我们来看namedtuple方法的参数。 下面是2个必传参数,typename和field_names,一般我们只会用到这两个参数。 ...from collections import namedtuple Student = namedtuple("Student", ['name', 'age', 'grade']) d1 = Student

    3.1K40

    Python中如何使用 collections 模块中高级数据结构如 namedtuple、deque

    namedtuple 是 collections 模块中的一种工厂函数,用于创建具名元组(named tuples)。具名元组和普通的元组类似,但区别在于它们的字段可以用名字来访问,而不需要使用索引。...使用场景namedtuple 非常适合需要类似结构的场景,比如你需要表示一个二维点 (x, y)、汽车信息 (make, model, year),这时候可以用 namedtuple 创建结构化数据,使代码更易于阅读和维护...如何定义和使用 namedtuple?我们从定义开始,一步步来演示如何使用 namedtuple。假设我们需要表示一个二维点 (x, y)。...from collections import namedtuple# 定义一个具名元组 Point,包含两个字段 x 和 yPoint = namedtuple('Point', ['x', 'y']..._asdict():将 namedtuple 转换为 OrderedDict。示例如下:# 获取字段名称print(p1._fields)# 转换为字典p1_dict = p1.

    97110
    领券
    首页
    学习
    活动
    专区
    圈层
    工具
    MCP广场