说我有一本字典x = {'123A......': None, '123AA.....': None, '123AB.....': None}
假设我还有一个列表y = ['123AC.....', '123ABB....', '123ABC....']
我想要的是以下结果:
{'123A......': [123AC....], '123AA.....': ['123AC.....'], '123AB.....': ['123ABB....']}
我认为以下内容可行,
for item in x:
x[item] = re.findall(r'123[A-Z\.]{7}', ''.join(y))
或类似的东西。帮助赞赏。
答案 0 :(得分:2)
你可能想要这样的东西
for item in xrange(len(x)):
x[x.keys()[item]] = re.findall(r'123[A-Z\.]{7}', ''.join(y[item]))
这样,x和y都在递增......
但我非常确定使用zip
可以更轻松地完成此操作如果你有:
x = ['123A......', '123AA......', '123AB......']
y = ['123AC.....', '123ABB....', '123ABC....']
dict(zip(x,y))
将输出
{'123AB......': '123ABC....', '123A......': '123AC.....', '123AA......': '123ABB....'}
我认为这对你很有用,而且它更容易使用,因为它会保留列表的顺序(列表项x [0]将与y [0]配对)并且如果你只是输入字典的键......奇怪的订单发生了.....用dict(zip(listA,listB))
玩,你会看到我在说什么