1

制御ファイルから生成された一連の辞書が Python で作成されています。制御ファイルは、Web ページのデータを解析するために使用するホスト名のリストにすぎません。ホスト名が URL にリストされている場合、ホスト名がキーで行が値であることに基づいて、データの行全体を辞書に格納します。さまざまな辞書を作成した後、それらから次の出力が得られます。

audit_dicts = {
   "us_osdata":us_osdata, 
   "us_weblogic":us_weblogic, 
   "us_tomcat":us_tomcat
   blah
   blah
   }
for key in audit_dicts:
    print "Length of the %s dictionary is %d lines." % (key, len(audit_dicts[key]))

出力:

Total number of hosts in the control file: 4376
----------------------------------------------------------------------------------------------------
The length of the us_mq dictionary is 266 lines.
The length of the us_oracle dictionary is 198 lines.
The length of the uk_mq dictionary is 59 lines.
The length of the us_osdata dictionary is 765 lines.
The length of the us_websphere_ut dictionary is 137 lines.
The length of the uk_websphere dictionary is 33 lines.
The length of the uk_osdata dictionary is 228 lines.
The length of the uk_oracle dictionary is 41 lines.
The length of the us_weblogic dictionary is 144 lines.
The length of the us_jboss dictionary is 59 lines.
The length of the us_sunweb dictionary is 80 lines.
The length of the us_websphere dictionary is 165 lines.
The length of the us_ihs dictionary is 147 lines.
The length of the us_tcserver dictionary is 0 lines.
The length of the uk_weblogic dictionary is 5 lines.
The length of the us_tomcat dictionary is 236 lines.

ホスト名ごとに制御ファイルを循環し、audit_dicts の辞書に保存されているそのホスト名に関連付けられているすべてのデータを 1 行に出力したいと思います。

疑似コード「」

for x in control:
        combine = {}
        if x in ** any ** of the audit_dicts[key]
            append values aka lines from all dicts  to combined dictionary
        else
            append x as the key and value.

申し訳ありませんが、私はプログラミングにまったく慣れていないため、これはばかげた質問かもしれません。どんな助けでも大歓迎です。

4

1 に答える 1

4

事前にそれらを組み合わせることができます:

from collections import defaultdict

combined = defaultdict(list)

for d in dicts:
    for key, value in d.items():
        combined[key].append(value)

現在、combinedこれらの辞書のそれぞれからの値のリストが含まれています。

于 2013-05-20T15:17:09.127 に答える