首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏自然语言处理

    Python中namedtuple使用

    tuple元组的item只能通过index访问,collections模块的namedtuple子类不仅可以使用item的index访问item,还可以通过item的name进行访问。 可以将namedtuple理解为c中的struct结构,其首先将各个item命名,然后对每个item赋予数据。 from collections import namedtuple # 定义一个namedtuple类型User,并包含name,sex和age属性 User = namedtuple('User'

    58640发布于 2018-06-08
  • 来自专栏萝卜大杂烩

    PKW: namedtuple 和 pathlib 简介(第 5 期)

    问题或建议,请公众号留言或加本人微信; 如果你觉得文章对你有帮助,欢迎加微信交流 namedtuple 元组 元组是与列表相类似的数据结构,其区别就是元组内的元素是不可用修改的。 tup1 = ("hello", "world") tup2 = (1, ) 具名元组(namedtuple) 通过工厂函数 collections.namedtuple,可以构造出带有字段名的元组, namedtuple 是元组的升级版本,通过 namedtuple 函数创建的是一个元组的子类。 定义 如下是 Python 源码中 namedtuple 的定义 # namedtuple is special-cased in the type checker; the initializer is People1 = namedtuple("People1", "name age sex") People2 = namedtuple("People2", ["name", "age", "sex

    52120发布于 2019-08-16
  • 来自专栏全栈程序员必看

    Python之namedtuple源码分析建议收藏

    大家好,又见面了,我是全栈君 namedtuple()函数根据提供的参数创建一个新类,这个类会有一个类名,一些字段名和一个可选的用于定义类行为的关键字,具体实现如下 namedtuple函数源码 from ''\ {name} = _property(_itemgetter({index:d}), doc='Alias for field number {index:d}') ''' def namedtuple rename=False, module=None): """Returns a new subclass of tuple with named fields. >>> Point = namedtuple tracing utilities by setting a value for frame.f_globals['__name__'] namespace = dict(__name__='namedtuple module__ = module return result   通过函数模板字符串_class_template.format()会生成我们需要的实例类:   eg: people = namedtuple

    63820编辑于 2022-07-14
  • 来自专栏软件测试学习

    python高级用法之命名元组namedtuple

    namedtuple 介绍: namedtuple()是产生具有命名字段的元组的工厂函数,namedtuple 比普通tuple具有更好的可读性,可以使代码更易于维护。 namedtuple还有一个非常好的一点是,它与tuple是完全兼容的。也就是说,我们依然可以用索引去访问一个namedtuplenamedtuple()调用方式如下: 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的数据都是生成了对应

    78310发布于 2021-03-08
  • 来自专栏Python七号

    Python如何把 dict 快速转换为namedtuple

    下面的代码可能让你更容易理解:

    60210编辑于 2022-10-25
  • 来自专栏用户2119464的专栏

    Fluent Python-1(collections.namedtuple & 魔术方法的使用)

    blog.csdn.net/y_silence_/article/details/101126740 涉及知识点 collections — Container datatypes collections.namedtuple 特殊方法 切片操作 反向迭代 排序函数(sorted) 代码 import collections # collections — Container datatypes # namedtuple( ) Factory Function for Tuples with Named Fields Card = collections.namedtuple('Card', ['rank', 'suit'

    61440发布于 2019-09-25
  • 来自专栏Python程序员杂谈

    关于PEP435的Enum和namedtuple及枚举实现

    wrongway兄也抛出了自己的看法,同时也让我(们)知道了有namedtuple这样一个东西的存在。然后我又仔细看了下PEP-435内容。 wrongway兄的观点是“namedtuple比所谓的枚举要更为灵活,其实我个人是不觉得有必要加入枚举。” -- from wikipedia 实现枚举的三种种方式 定义一个星期的枚举 1. namedtuple .. code:: python from collections import namedtuple Weekday = namedtuple('Weekly', 'sun, mon, tue, wen, thu, fri, sat'). /2/library/collections.html#collections.namedtuple>_

    75830发布于 2019-02-28
  • 来自专栏不仅仅是python

    (三十八) 初遇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

    51320发布于 2019-07-23
  • 来自专栏bit哲学院

    【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.7K40发布于 2020-12-24
  • 来自专栏后端开发

    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.

    3.5K10编辑于 2024-12-19
  • 来自专栏漫漫深度学习路

    python 小工具总结

    总结一些python编程中可能会用到的一些小工具 namedtuple 给tuple 起个名字 def namedtuple(typename, field_names, verbose=False , rename=False): """Returns a new subclass of tuple with named fields. >>> Point = namedtuple( like str.replace() but targets named fields Point(x=100, y=22) """ from collections import namedtuple NamedTuple = namedtuple("NamedTuple", ['output', 'stride']) # 返回一个类 tup1 = NamedTuple(output=54, stride

    66460发布于 2018-01-02
  • 来自专栏Helloted

    集合Collections

    为了访问元组中的值,可以使用如下的整数索引: man = ('Ali', 30) print(man[0]) # Output: Ali 那么现在是什么namedtuple? 你可以把namedtuple看作字典,但不同于字典,它们是不可变的。 from collections import namedtuple Animal = namedtuple('Animal', 'name age type') perry = Animal(name 这意味着这是下面这是行不通的: from collections import namedtuple Animal = namedtuple('Animal', 'name age type') perry (perry[0]) # Output: perry 你可以把namedtuple转化成字典 from collections import namedtuple Animal = namedtuple

    55010编辑于 2022-06-07
  • 来自专栏JetpropelledSnake

    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

    75010发布于 2018-07-04
  • 来自专栏Python七号

    标准库 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"

    45430发布于 2021-10-20
  • 来自专栏若尘的技术专栏

    python 高级函数补充

    l2 = [i for i in em] print(l2) [(100, 11), (101, 22), (102, 33), (103, 44), (104, 55)] collections模块 namedtuple deque namedtuple tuple类型 是一个可命名的tuple import collections Point = collections.namedtuple("Point", ['x ', 'y']) p = Point(11, 22) print(p.x) print(p[0]) 11 11 Circle = collections.namedtuple("Circle", ['x ', 'y', 'r']) c = Circle(100, 120, 20) print(c) print(type(c)) # 检测一下namedtuple到底属于谁的子类 isinstance( ) Help on function namedtuple in module collections: namedtuple(typename, field_names, *, rename=False

    65587发布于 2021-05-11
  • 来自专栏CDA数据分析师

    四种高性能数据类型,Python collections助你优化代码、简洁任务

    namedtuple 官方文档:https://docs.python.org/2/library/collections.html#collections.namedtuple 当你使用 python namedtuple 就可以解决这个问题。 namedtuple() 可以返回一个 tuple,该 tuple 中的每个位置都有固定名称,而且 namedtuple 对象也有通用名称。 要使用 namedtuple,需要先为其创建一个模板。下面的代码创建了一个名为「Person」的 namedtuple 模板,其属性为「name」、「age」和「job」。 from collections import namedtuple Person = namedtuple('Person', 'name age job') Once the template is 如果要了解更多关于 namedtuple 的功能,可以查看官方文档。

    38620发布于 2019-11-12
  • 来自专栏深度学习自然语言处理

    四种高性能数据类型,Python collections助你优化代码、简洁任务

    namedtuple 官方文档:https://docs.python.org/2/library/collections.html#collections.namedtuple 当你使用 python namedtuple 就可以解决这个问题。 namedtuple() 可以返回一个 tuple,该 tuple 中的每个位置都有固定名称,而且 namedtuple 对象也有通用名称。 要使用 namedtuple,需要先为其创建一个模板。下面的代码创建了一个名为「Person」的 namedtuple 模板,其属性为「name」、「age」和「job」。 from collections import namedtuple Person = namedtuple('Person', 'name age job') Once the template is created, you can use it to create namedtuple objects.

    70310发布于 2019-11-12
  • 来自专栏AI研习社

    如何在python中引入高性能数据类型?

    4.namedtuple 在 python 中创建常规元组时,其元素是通用的和未命名的。这迫使你记住每个元组元素的确切索引。namedtuple 就是这个问题的解决方案。 namedtuple()返回一个元组,该元组中每个位置的名称都是固定的,而 namedtuple 对象的名称是通用的。要使用 namedtuple,首先为它创建一个模板。 from collections import namedtuple Person = namedtuple('Person', 'name age job') 创建模板后,可以使用它创建 namedtuple 让我们为 2 个 person 创建 2 个 namedtuple 并打印出他们的表示。 要了解 namedtuple 的更多功能,请查看官方文档。 结论 好了,你学完这些啦!

    1.9K10发布于 2019-10-24
  • 来自专栏素质云笔记

    python︱ collections模块(namedtuple/defaultdict/OrderedDict等)

    官方:python - collections ---- 文章目录 1 namedtuple - 可命名的tuple 1.1 namedtuple 新建 1.2 namedtuple支持通过属性访问 1.3 tuple >>> from collections import namedtuple >>> Point = namedtuple('Point', ['x', 'y']) >>> p = Point namedtuple Animal = namedtuple('Animal', 'name age type') perry = Animal(name="perry", age=31, type 要记住它是一个元组,属性值在namedtuple中是不可变的,所以下面的代码不能工作: from collections import namedtuple Animal = namedtuple(' _asdict() OrderedDict([('x', 11), ('y', 22)]) 1.3 namedtuple转OrderedDict from collections import namedtuple

    2K20发布于 2019-05-26
  • 来自专栏素质云笔记

    python︱ collections模块(namedtuple/defaultdict/OrderedDict等) + 神奇排列组合函数

    官方:python - collections ---- 文章目录 1 namedtuple - 可命名的tuple 1.1 namedtuple 新建 1.2 namedtuple支持通过属性访问 - 可命名的tuple >>> from collections import namedtuple >>> Point = namedtuple('Point', ['x', 'y']) >>> p namedtuple Animal = namedtuple('Animal', 'name age type') perry = Animal(name="perry", age=31, type 要记住它是一个元组,属性值在namedtuple中是不可变的,所以下面的代码不能工作: from collections import namedtuple Animal = namedtuple(' _asdict() OrderedDict([('x', 11), ('y', 22)]) 1.3 namedtuple转OrderedDict from collections import namedtuple

    1.1K10编辑于 2022-11-30
领券