最新要闻
- 【世界速看料】大学生23万网购凯迪拉克二手车:开了俩月就冒烟 三大件全动过
- 499元 小米真无线降噪耳机3星战定制款发布:风暴兵标志太酷炫
- 每日快讯!ChatGPT推荐中国最宜居城市 成都第三长沙第一 认可吗
- 焦点!斗鱼回应36岁女子请假保胎被辞:并非针对孕妇 不服可仲裁
- 2.8K 120Hz华硕好屏、升级13代酷睿!灵耀14 2023旗舰版图赏
- 【世界快播报】孙子膑脚全文_孙子膑脚
- 全球今热点:GPT-4刚发布就有手机APP接入 上传照片视频一键解读
- 迪士尼被曝大幅裁员!公司称至少有4000名员工将在4月份失业
- 当前滚动:239元 荣耀手环7 NFC版开售:新增公交/门禁功能
- 世界要闻:2022年超越德国成全球第二 中国新能源汽车出口继续高增长
- 熊孩子4S店不小心启动车辆 展车冲出撞击多辆新车
- 电动车价格还得降 “白色石油”碳酸锂价格三个月大跌40% 专家称重大利好
- 全球热推荐:中长视频版抖音!抖音官方全新APP青桃上线:对标B站
- 机构:中国人幸福感全球最高 韩国人排名全球垫底 日美紧随其后
- 当前看点!TVB演员30秒被扇21个耳光让人惊叹 网友点赞:吐槽内娱明星不敬业
- 我眼中的秋天600字的作文_我眼中的秋天600字
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
python高级用法之命名元组namedtuple
1.tuple类型数据的获取
大家都知道,元组里面的数据获取只能通过下标的方式去获取,比如 :a = ("username", "age", "phone"),要获取username的话 ,就需要用a[0]的方式去获取,当元组中数据比较多的时候,用下标的方式获取数据就容易写错索引值。在这些场景下,用tuple存储数据就没那么方便,就会采用其他的方式去存储数据。
今天在学习的时候了解到了namedtuple 这么一种新的数据存储格式。
2.namedtuple 介绍
namedtuple()是产生具有命名字段的元组的工厂函数,namedtuple 比普通tuple具有更好的可读性,可以使代码更易于维护。同时与字典相比,又更加的轻量和高效。
【资料图】
namedtuple还有一个非常好的一点是,它与tuple是完全兼容的。也就是说,我们依然可以用索引去访问一个namedtuple。
namedtuple()调用方式如下:
from collections import namedtuplenamedtuple(typename, field_names, *, verbose=False, rename=False, module=None)
返回一个新类,名为typename,它是元组tuple的子类。它的特性与tuple类似,是可索引可迭代的。
field_names的格式通常为字符串序列,如["name", "age", "phone", "email"],也可以是一个单一的字符串,每个字段以逗号分隔。
如果rename=True,无效的字段名将被自动更换为位置名称,如下所示:
["abc", "def", "ghi", "abc"]中无效的字段名为关键字"def"与重复字段名"abc",均视为无效,所以将自动更换为如下形式:["abc", "_1", "ghi", "_3"]。
下面演示namedtuple的具体用法:
from collections import namedtupleuserinfo = namedtuple("user_obj", ["name", "age", "phone", "email"])user1 = userinfo("admin", "18", "13578451256", "13578451256@163.com")print(type(user1), user1)print(user1.name)print(user1.age)
输出:
admin
18
从以上演示的代码中可以发现,要获取某个值非常的方便。
演示rename的效果:
from collections import namedtupleb = namedtuple("user_obj1", ["name", "def"], rename=True)b1 = b("libo" ,"12")print(b1)
输出:
user_obj1(name="libo", _1="12")
3.namedtuple使用场景
以前封装接口测试框架的时候,测试用例是写在excel里面的,读取到的每一行数据都是一个列表,获取元素的时候通过索引去获取的话,如果万一哪一天用例模板要加一列或者减一列,就有可能要改脚本,因为,之前的想法是,读取excel的每一行内容转成dict进行存储,用excel表头的内容当做dict的key,这样读取数据处理起来就非常麻烦:
现在,学了namedtuple之后,那么读取excel存储的格式就可以改为namedtuple进行存储,后面取数还是按照类似dict的方式去进行提取,方便多了,代码也比较优雅。这里暂时不演示改之前读excel的脚本了,等后面重新设计框架的时候可以考虑用namedtuple。
4.谈一下我对namedtuple的认知
感觉namedtuple跟java编程里面的javabean实体类比较相似,定义了一个class,以及class下的一些属性值,每创建一条namedtuple的数据都是生成了对应class的一个实例对象,最终把这些对象存到list里面就是对象的集合。
from collections import namedtuple#就好比有一个user_obj对象,里面有4个属性userinfo = namedtuple("user_obj", ["name", "age", "phone", "email"]) # 分别创建3个对象user1 = userinfo("admin", "18", "13578451256", "13578451256@163.com")user2 = userinfo("demo", "19", "13512345678", "13512345678@163.com")user3 = userinfo("user03", "35", "13875456545", "13875456545@163.com")user_list = [user1, user2, user3]for i in user_list: print(i.name)
关键词:
-
天天实时:Spring Boot 如果防护 XSS + SQL 注入攻击 ?一文带你搞定!
1 XSS跨站脚本攻击①:XSS漏洞介绍跨站脚本攻击XSS是指攻击者往Web页面里插入恶意Script代码,当用户浏...
来源: 天天实时:Spring Boot 如果防护 XSS + SQL 注入攻击 ?一文带你搞定!
【世界热闻】Python工具箱系列(二十七)
python高级用法之命名元组namedtuple
【世界速看料】大学生23万网购凯迪拉克二手车:开了俩月就冒烟 三大件全动过
499元 小米真无线降噪耳机3星战定制款发布:风暴兵标志太酷炫
每日快讯!ChatGPT推荐中国最宜居城市 成都第三长沙第一 认可吗
焦点!斗鱼回应36岁女子请假保胎被辞:并非针对孕妇 不服可仲裁
2.8K 120Hz华硕好屏、升级13代酷睿!灵耀14 2023旗舰版图赏
支持向量机SVM
天天微资讯!【C 数据结构】循环队列
【世界快播报】孙子膑脚全文_孙子膑脚
全球今热点:GPT-4刚发布就有手机APP接入 上传照片视频一键解读
迪士尼被曝大幅裁员!公司称至少有4000名员工将在4月份失业
当前滚动:239元 荣耀手环7 NFC版开售:新增公交/门禁功能
世界要闻:2022年超越德国成全球第二 中国新能源汽车出口继续高增长
熊孩子4S店不小心启动车辆 展车冲出撞击多辆新车
天天日报丨读C#代码整洁之道笔记01_C#的编码标准和原则
热资讯!【新华解读】降准落地对债市是否意味着利好出尽?
电动车价格还得降 “白色石油”碳酸锂价格三个月大跌40% 专家称重大利好
全球热推荐:中长视频版抖音!抖音官方全新APP青桃上线:对标B站
机构:中国人幸福感全球最高 韩国人排名全球垫底 日美紧随其后
当前看点!TVB演员30秒被扇21个耳光让人惊叹 网友点赞:吐槽内娱明星不敬业
【环球新视野】债市观察:海外风险事件扰动有限 期现券难脱震荡格局
美联储联手全球主要央行加强美元流动性供给
天天热资讯!业内人士:超预期“降准”呵护流动性 提振金属市场需求复苏
世界热点!市场避险情绪高涨 金油比价上破26桶/盎司
我眼中的秋天600字的作文_我眼中的秋天600字
美国银行接连倒闭:国际黄金价格逼近2000美元大关 全球疯抢
当前热议!又一个国产ChatGPT 李开复再创业:打造世界级AI公司
资讯推荐:读Java性能权威指南(第2版)笔记22_ 操作系统工具和Java监控工具
天天快资讯:护眼电视都是骗人的?真相揭秘
考研周记-week4
环球关注:[MRCTF2020]Ezpop
【OpenGL ES】绘制魔方
hystrix的熔断降级
过去几亿年 月亮变“瘦了”约50米:地球呢?
男子网恋1年多 女友竟是好友老婆:转账8万多要不回来
为什么迅雷下载不了文件_为什么迅雷下载不了
环球热讯:Masa Framework源码解读-03 MasaMinimalApi设计
世界微资讯!Vue——initEvents【六】
世界看热讯:人类身体为什么不长毛?竟然是因为这
手机的天线去哪了?原来就在眼皮底下
Web API接口返回实现类集合的姿势了解
【单元测试】Junit 4(七)--junit4 TestRunnner
微头条丨皮鞋果冻制作方法_皮鞋果冻
日月潭蓄水率创新低:九蛙叠像全露出 还有“神秘黑洞”
【模型部署】在C++和Python中配置OpenVINO2022环境
谈谈 Vue shallowRef 和 shallowReactive
快报:刷题疑惑2
前端加载超大图片(100M以上)实现秒开解决方案
快讯:数据结构-图
连上半个月夜班 27岁小伙一觉醒来懵了:脸肿得像包子
环球今亮点!微信新增“视频号”入口?腾讯张军否认网传截图:假的
数据挖掘第四周作业
conda环境下使用nvcc -V报错nvcc: command not found的一种解决方法
环球快资讯:【论文笔记】SegNet
OpenAI CEO承认害怕ChatGPT:AI会取代许多工作
前端设计模式——原型模式
全球短讯!69.处理类型
环球快看:车主花32万买到全损事故车:获退1赔3、到手97.2万
群晖DS423入门级四盘位NAS发布:居然支持Docker了
今头条!小米真无线降噪耳机3《星球大战》联名版来了!明早10点正式公布
每日观察!家长发又有作业了被老师踢出群聊 还被电话教育:网友纷纷感同身受
当前报道:男子吐槽22元吃面 面量仅盖住碗底 店方:这是网红大碗
当前动态:一定的提问方法与一定的什么是控制访谈的两个重要因素_一定的与一定的是控制访谈的两个重要因素
环球看热讯:MySQL如何正确查询字符串长度
每日速看!C. Sequence Master
2023年安卓之光!小米13 Ultra最新进展:还在打磨MIUI 14系统
焦点滚动:AMD Zen4低功耗锐龙7 7840U首次现身:28W就灭掉45W Zen3+
世界视点!南航重推“随心飞”产品:不限年龄无限飞行 服务器被挤爆
全球微资讯!看看这份2023年MySQL终级面试题,提升你的内力,给你面试助力
环球热点!推荐机制不再保密:马斯克宣布月底开放Twitter推荐算法
P图侮辱女性 苏州大学凌晨通报:开除赵某某学籍
.NET中的winform、wpf、winui和maui你都知道吗?
1254MB海量缓存+96核心!AMD霄龙9004X让对手彻底绝望
【全球聚看点】“密集恐惧症”真的是种病?看完也许会治好
每日快报!群晖DSM 7.2 Beta发布:Docker更名 相册大升级
焦点快播:诸葛亮的改动再度提上日程,诸葛亮真的需要这样调整吗?
今日热闻!独特的散热设计与人机交互触控屏!微星海皇戟X2主机评测:顶级游戏性能
【全球快播报】《你的名字。》导演新海诚新作!《铃芽之旅》预售票房突破3000万
天天微动态丨C++ | 运算符重载
每日快播:BUUCTF-MISC-面具下的flag(vmdk的解压和Brainfuck与Ook解密)
天天微动态丨比亚迪智能手表亮相:一键控车 可完美替代车钥匙
买了电动牙刷 没想到越用牙越废
观天下!宝马X3变X6!男子买二手宝马X3买到全损事故车 退1赔3得97万
印度机长飞行中吃早餐 咖啡直接放在油门把手上!双双被罚
看New Bing回答世纪难题:女友和妈妈掉水里先救谁
24层楼高!首艘国产大型邮轮预计年底交付:零件数是复兴号高铁13倍
环球热点评!xj威客网可信不_xj威客网
全球热点评!暴雪火速排查《暗黑4》排队问题
天天讯息:别等降价了!长城坦克推全年保价政策 年底前官降返差价
全球快资讯丨《名侦探柯南》里出现九转大肠厨师和评委:网友直呼瞬间出戏
环球简讯:知名车评人吐槽宝马漏机油养活他家修理厂 原因直指塑料气门室盖
【世界热闻】探究C# dynamic动态类型本质
天天新资讯:郭帆谈《流浪地球2》“50岁以上出列”拍摄:喊停了外国群演还在哭
全球短讯!给蚊子送上夏天第一拍!雅格电蚊拍大促:10.9元到手
今日要闻!迪士尼正版授权 泰国乳胶凉席三件套大促!原价190 券后90
检查 Linux 系统是运行在虚拟机上还是物理机上
远大前程多少集_远大前程介绍
全球热资讯!《寂静岭2:重制版》美术谈护士穿丝袜:曾被指责皮肤暴露