1. 程式人生 > >python字典和nametuple互相轉換例子

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)

疑問:為什麼不使用字典,豈不是更方便了