【发布时间】:2018-03-16 03:27:06
【问题描述】:
我需要合并两个列表列表,同时在每个列表列表中的几个项目上加入/合并它们。我对python编程很陌生,请在这里多多包涵。 我有两个列表列表:AppNodes 列表列表和 Applications 列表列表。请看下文。 我曾尝试使用嵌套的 forloops,但它变得如此肮脏并给了我错误的输出。 有没有更好更有效的方法来做到这一点。 请帮助我。我想在 Python 中学到很多东西。
List_Of_Lists_A : (Applications list)
AppliactationName Version AppSpace App_Status
XpathExtensions.application 1.0 DOBAdapter-A Stopped
AWS.bw.enterprise.API.DOBAdapter 1.1 DOBAdapter-A Stopped
AWS.bw.enterprise.API.DOBAdapterExtension2 1.1 DOBAdapter-A Stopped
AWS.bw.enterprise.API.DOBAdapterExtension 1.1 DOBAdapter-A Stopped
List_Of_Lists_B : (Appnodes list)
AppNodeName AppNode_Status AppSpace MgmtPort Agent ConfigState Up Time
DOBAdapter-A-Node4 Running DOBAdapter-A 8888 machine1 InSync 56d 00:23:07
DOBAdapter-A-Node1 Running DOBAdapter-A 8888 Machine2 InSync 56d 01:47:10
DOBAdapter-A-Node3 Running DOBAdapter-A 8888 machine3 InSync 54d 22:39:09
DOBAdapter-A-Node2 Running DOBAdapter-A 8888 machine4 InSync 55d 01:58:12
DOBAdapter-A-Node5 Running DOBAdapter-A 8888 Machine5 InSync 55d 22:38:30
Required Output : (may be in nice tabular format if possible)
Domain AppSpace AppNodeName Port AppNode_Status Application App_Status Version Agent
UAT TestAppSpace DOBAdapter-A-Node4 8888 Running XpathExtensions.application Stopped 1.0 machine1
UAT TestAppSpace DOBAdapter-A-Node4 8888 Running AWS.bw.enterprise.API.DOBAdapter Stopped 1.1 machine1
UAT TestAppSpace DOBAdapter-A-Node4 8888 Running AWS.bw.enterprise.API.DOBAdapterExtension2 Stopped 1.1 machine1
UAT TestAppSpace DOBAdapter-A-Node4 8888 Running AWS.bw.enterprise.API.DOBAdapterExtension Stopped 1.1 machine1
UAT TestAppSpace DOBAdapter-A-Node1 8888 Running XpathExtensions.application Stopped 1.0 machine2
UAT TestAppSpace DOBAdapter-A-Node1 8888 Running AWS.bw.enterprise.API.DOBAdapter Stopped 1.1 machine2
UAT TestAppSpace DOBAdapter-A-Node1 8888 Running AWS.bw.enterprise.API.DOBAdapterExtension2 Stopped 1.1 machine2
UAT TestAppSpace DOBAdapter-A-Node1 8888 Running AWS.bw.enterprise.API.DOBAdapterExtension Stopped 1.1 machine2
UAT TestAppSpace DOBAdapter-A-Node3 8888 Running XpathExtensions.application Stopped 1.0 machine3
UAT TestAppSpace DOBAdapter-A-Node3 8888 Running AWS.bw.enterprise.API.DOBAdapter Stopped 1.1 machine3
UAT TestAppSpace DOBAdapter-A-Node3 8888 Running AWS.bw.enterprise.API.DOBAdapterExtension2 Stopped 1.1 machine3
UAT TestAppSpace DOBAdapter-A-Node3 8888 Running AWS.bw.enterprise.API.DOBAdapterExtension Stopped 1.1 machine3
UAT TestAppSpace DOBAdapter-A-Node2 8888 Running XpathExtensions.application Stopped 1.0 machine4
UAT TestAppSpace DOBAdapter-A-Node2 8888 Running AWS.bw.enterprise.API.DOBAdapter Stopped 1.1 machine4
UAT TestAppSpace DOBAdapter-A-Node2 8888 Running AWS.bw.enterprise.API.DOBAdapterExtension2 Stopped 1.1 machine4
UAT TestAppSpace DOBAdapter-A-Node2 8888 Running AWS.bw.enterprise.API.DOBAdapterExtension Stopped 1.1 machine4
UAT TestAppSpace DOBAdapter-A-Node5 8888 Running XpathExtensions.application Stopped 1.0 machine5
UAT TestAppSpace DOBAdapter-A-Node5 8888 Running AWS.bw.enterprise.API.DOBAdapter Stopped 1.1 machine5
UAT TestAppSpace DOBAdapter-A-Node5 8888 Running AWS.bw.enterprise.API.DOBAdapterExtension2 Stopped 1.1 machine5
UAT TestAppSpace DOBAdapter-A-Node5 8888 Running AWS.bw.enterprise.API.DOBAdapterExtension Stopped 1.1 machine5
【问题讨论】:
-
每个应用程序都作为一个实例部署在每台机器上。这就是为什么每个 appnode 都在所有 5 台机器上运行所有 4 个应用程序的原因。
-
作为参数传递的域名和 AppSpace 名称。
-
域:sys.argv[1] 应用空间:sys.argv[2]