文档章节

python字典和nametuple互相转换例子

l
 lykops
发布于 2017/08/04 09:05
字数 210
阅读 47
收藏 0

如果tuple中的元素很多的时候操作起来就比较麻烦,有可能会由于索引错误导致出错。
namedtuple对象给tuple命名。

下面的例子可以字典和nametuple互相转换

aa={'verbosity': 0, 'inventory': '/etc/ansible/hosts', 'listhosts': None, 'subset': None, 'module_path': None, 'extra_vars': [], 'forks': 5, 'ask_vault_pass': False, 'vault_password_file': None, 'new_vault_password_file': None, 'output_file': None, 'one_line': None, 'tree': None, 'ask_pass': False, 'private_key_file': None, 'remote_user': 'root', 'connection': 'smart', 'timeout': 30, 'ssh_common_args': '', 'sftp_extra_args': '', 'scp_extra_args': '', 'ssh_extra_args': '', 'sudo': False, 'sudo_user':None, 'su': False, 'su_user': None, 'become': False, 'become_method': 'sudo', 'become_user': None, 'ask_sudo_pass': False, 'ask_su_pass': False, 'become_ask_pass': False, 'poll_interval': 15, 'seconds': 0, 'check': False, 'syntax': None, 'diff': False, 'module_args': 'echo a', 'module_name': 'command', 'b': 1}

#字典转化为namedtuple
keys_list = []
valuse_list = []
for key,value in options.items() :
    keys_list.append(key)
    valuse_list.append(value)

''' 等同于 keys_list = list(options.keys()) values_list = list(options.values()) '''

Options = namedtuple('Options', keys_list)
options = Options._make(values_list)

#namedtuple转化为字典
bb = options._asdict()
bb=dict(bb)

疑问:为什么不使用字典,岂不是更方便了

本文转载自:http://blog.csdn.net/liyingke112/article/details/73320695

l
粉丝 2
博文 297
码字总数 7445
作品 2
深圳
运维
私信 提问
Python3—— collections模块

collections的常用类型有: 计数器(Counter) 双向队列(deque) 默认字典(defaultdict) 有序字典(OrderedDict) 可命名元组(namedtuple) 使用以上类型时需要导入模块 from collections import ...

飞天小橘子
2018/04/04
0
0
RobotFramework-RequestsLibrary中To Json关键字使用中的问题

To Json的关键字主要功能是将Python字典和Json格式进行互相转换, 参数说明: content 被转换的对象 pretty_print 默认是false,将Content 从Json转换为字典类型,如果定义为true,将Content...

不折腾难受斯基
2015/07/23
4.8K
0
python编程中常用的12种基础知识总结

python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序、去重,字典排序,字典、列表、字符串互转,时间对象操 作,命令行参数解析(getopt),print 格式化输出,...

dandan.fs
2013/10/14
310
1
Python3基础之学习笔记(三)-模块-pyc-数据类型-列表-元组-字典-集合-字符串

文章目录 1 模块 2 pyc 3 数据类型 4 三元运算符 5 Bytes 6 列表 7 元组 8 字典 9 集合 10 字符串 1 模块 1.1 sys模块 sys.path存储模块搜索路径,当导入模块时,先在当前目录下查找模块,如...

GoldenKitten
01/15
0
0
人生苦短:Python里的17个“超赞操作

人生苦短,我选Python”。那么,你真的掌握了Python吗? 1. 交换变量 有时候,当我们要交换两个变量的值时,一种常规的方法是创建一个临时变量,然后用它来进行交换。比如: # 输入 a = 5 b ...

糖宝lsh
2018/08/17
76
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
5分钟前
0
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
7分钟前
0
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
6
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
4
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部