リストが辞書の場合は、辞書をマージする必要があります。
>>> a = {'UK':'http://www.uk.com', 'COM':['http://www.uk.com','http://www.michaeljackson.com']}
>>> bb = {'Australia': 'http://www.australia.com', 'COM':['http://www.Australia.com', 'http://www.rafaelnadal.com','http://www.rogerfederer.com']}
>>> dict(a.items()+bb.items())
{'Australia': 'http://www.australia.com', 'COM': ['http://www.Australia.com', 'http://www.rafaelnadal.com', 'http://www.rogerfederer.com'], 'UK': 'http://www.uk.com'}
アップデート
これまでの私の答えはそれをします:
>>> sk = list(set(bb.keys()+a.keys()))
>>> sk
['Australia', 'COM', 'UK']
>>> nd
{}
>>> for i in sk:
... if i in a.keys():
... nd[i]=a[i]
...
>>> nd
{'COM': ['http://www.uk.com', 'http://www.michaeljackson.com'], 'UK': 'http://www.uk.com'}
>>> for i in sk:
... if i in bb.keys():
... nd[i]=bb[i]
...
>>> nd
{'Australia': 'http://www.australia.com', 'COM': ['http://www.Australia.com', 'http://www.rafaelnadal.com', 'http://www.rogerfederer.com'], 'UK': 'http://www.uk.com'}
まだ辞書を使用する必要があると思います。これは、CPU効率があまり高くない*方法です。
a = {'UK':'http://www.uk.com', 'COM':['http://www.uk.com','http://www.michaeljackson.com']}
bb = {'Australia': 'http://www.australia.com', 'COM':['http://www.Australia.com', 'http://www.rafaelnadal.com','http://www.rogerfederer.com']}
sk = list(set(bb.keys()+a.keys()))
nd = {}
for i in sk:
plholder=[]
if i in a.keys():
print i
print isinstance(a[i], str)
if isinstance(a[i], str):
plholder.append(a[i])
else:
if i in a.keys():
for v in a[i]: plholder.append(v)
if i in bb.keys():
if isinstance(bb[i], str): plholder.append(bb[i])
else:
if i in a.keys():
for v in bb[i]: plholder.append(v)
nd[i]=plholder
print nd
{'Australia': ['http://www.australia.com'], 'COM': ['http://www.uk.com', 'http://www.michaeljackson.com', 'http://www.Australia.com', 'http://www.rafaelnadal.com', 'http://www.rogerfederer.com'], 'UK': ['http://www.uk.com']}
*大規模なデータセットの場合、追加が非常に遅くなるため、CPU効率が低くなります。