【发布时间】:2019-06-14 23:30:18
【问题描述】:
我正在尝试处理带有键的字典,每个键都有一个值列表,并从中创建一个嵌套字典。并且还比较列表中每个键的相等值,并生成一个包含相等和不相等值列表的新字典。
我能够遍历每个键的值列表并处理它们以获得一个新变量,我想用它来创建新的嵌套字典。但是目前在第一个键值处会引发空异常。
dict1 = {a:[d,e,f], b:[p,q,r]}
dict2 = {d:100, e:100, f:100, p:100, q:100, r:100}
dict3 = {d:text1, e: text2, f: text3}
for i in dict1.keys():
for x in dict1[i]:
if dict2[x] == 100:
string = re.findall(r'sometext in text',dict3[x])[0]
ver = re.search('(?is)<i>(.+?)</i>', match_string).group(1)
d[i][x] = ver
预期结果:
d = { a:{d:ver1, e:ver2, f:ver3}, b:{p:ver4, q:ver5, r:ver6 }
在遍历每个嵌套值之后,每个值都需要与它的对等值进行比较,并在一个新的字典中排列,并且值的键匹配。如下:
if d's ver1 = e's ver2 =! f's ver3
dict4 = {a: { equal:[d,e], unequal: [f]}
【问题讨论】:
-
那不是一个有效的
dict,d是无效的,'d'是。请做一个可运行的例子。我们不喜欢仅仅因为您想节省一些时间而修复小错别字。 -
我只是在所有行话中错过了它,对不起。 d={} 是一个空字典。
标签: python python-3.x dictionary