我有两个词典:
nums = {u'+123456789': [u'google.com', u'yahoo.com', u'183.6.43.21'], u'+9876543210': [u'amazon.com', u'yahoo.com', u'bit.ly'] ... }
包含与此号码相关联的电话号码和域名
和
availability = {u'yahoo.com': 0.3, u'amazon.com': 0.0, u'183.6.43.21': 0.0, u'bit.ly': 0.9, u'google.com': 1.0}
我需要将这些词典附加在一起,因此我可以向每个电话号码发送短信,其中包含可用域名的文本。
我创造了一个可以做到这一点的功能:
for key, value in nums.iteritems():
for domain, av in availability.iteritems():
if domain in value:
if key in dct:
a = dct[key], domain
dct.update({key: a})
else:
dct[key] = domain
for key in dct:
send_to(phone=key, text=dct[key])
它有效,但是当nums中唯一一个附加到电话号码的域时 - 它以字符串形式出现,有时输出看起来像这样:
Send to: +1234567890
(((u'183.23.45.65', u'google.com'), u'yahoo.com'), u'bit.ly')
有没有办法用唯一的一层生成元组?或者最好的方法是递归打开这个元组?