例: Python 環境での辞書とリストの再編成の小さな例

#出版福利#

#!/usr/bin/env python
# -*- coding:utf-8 -*-

result = {}
iplist = ['1.1.1.1', '1.1.1.2', '1.1.1.3', '1.1.1.4', '1.1.1.5', '1.1.1.6']

for i in iplist:
    tmp1 = int(i.split(".")[3])
    jmx_state = 'online' if tmp1 % 2 == 1 else 'offline'
    address = 'shanghai' if tmp1 % 2 == 1 else 'hangzhou'
    result[i] = {'jmx_state': jmx_state, 'address': address, 'cmdb_state': '', 'compare': ''}
print result
#{'jmx_state': 'offline', 'address': 'hangzhou'}
cmdb_state = 'haha'
result['1.1.1.2']['cmdb_state'] = cmdb_state

if result['1.1.1.2']['cmdb_state'] == 'hehe':
    result['1.1.1.2'].update({'compare': 'success'})
else:
    result['1.1.1.2'].update({'compare': 'not ok'})
print result['1.1.1.2']  # {'jmx_state': 'offline', 'compare': 'not ok', 'cmdb_state': 'haha', 'address': 'hangzhou'}

for k,v in result.items():
    var1 = [k,v['jmx_state'],v['address'],v['cmdb_state'],v['compare']]
    print ','.join(var1)

デバッグ結果は以下の通り

{'1.1.1.4': {'jmx_state': 'オフライン', '比較': '', 'cmdb_state': '', 'address': '杭州'}, '1.1.1.5': {'jmx_state': 'online', 'compare': '', 'cmdb_state': '', 'address': 'shanghai'}, '1.1.1.6': {'jmx_state': 'offline', 'compare': '', ' cmdb_state': '', 'address': '杭州'}, '1.1.1.1': {'jmx_state': 'online', 'compare': '', 'cmdb_state': '', 'address': '上海'}, '1.1.1.2': {'jmx_state': 'オフライン', 'compare': '', 'cmdb_state': '', 'address': '杭州'}, '1.1.1.3':{'jmx_state': 'オンライン', '比較': '', 'cmdb_state': '', 'アドレス': '上海'}}
{'jmx_state': 'オフライン', 'compare': 'not ok', 'cmdb_state': 'haha', 'address': '杭州'}
1.1.1.4、オフライン、杭州、、
1.1.1.5、オンライン、上海、、
1.1.1.6、オフライン、杭州、、
1.1.1.1、オンライン、上海、、
1.1.1.2、オフライン、杭州、はは、大丈夫ではありません
1.1.1.3、オンライン、上海、、

兄の忠告を聞き、運用保守はしないでください 

おすすめ

転載: blog.csdn.net/xoofly/article/details/132725488