制作基于正则表达式Python的值的字典
假设我有一本字典制作基于正则表达式Python的值的字典,python,regex,Python,Regex,假设我有一本字典x={'123A……:无,'123AA….':无,'123AB….':无} 假设我还有一个列表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)) 或者类似的。感
x={'123A……:无,'123AA….':无,'123AB….':无}
假设我还有一个列表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))
或者类似的。感谢您的帮助。您可能需要这样的帮助
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…}
我相信这对你和它的Waaaaaa可能更容易,因为它会保持列表的顺序(列表项x[0]将与y[0]配对),如果你只是增加指令的键。。。奇怪的秩序发生了。。。。。玩一下dict(zip(listA,listB))你就会知道我在说什么你的for循环中没有增加y,所以每个x.key在itHa中都有完全相同的值,只是在写这篇文章时注意到了这一点。就要修改了,等一下,y没有改变。这只是从字符串列表中创建的一个长字符串。在图案开头添加一个“^”将是saferOkay,这是最接近的,我可以使用它。非常感谢。