python字典和nametuple互相转换例子

如果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)

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值