所以我已经提取了html的源代码并将所有内容转换为大字典 .
这只是一个例子:
d = {fist:mist}
我的目标是通过索引比较字符:
(key[0] & value[0], key[1] & value[1], etc.)
并检查字符是否相等:
f != m, i == i, s==s, t==t
我能做的最好:
d = {fist:mist}
difference = 0
no_difference = 0
for key, value in d.items():
for char1 in key:
pass
for char2 in value:
pass
if char1 != char2:
difference += 1
if char1 == char2:
no_difference +=1
print(difference)
print(no_difference)
我感谢任何帮助 .
编辑:非常感谢Glenn Codes,Joe Iddon和MikeMüller!
3 回答
您需要遍历字典中的
key : value
对 . 对于每一对,您需要确定key
和value
之间存在多少差异 . 这可以通过计算仅包含不同字符的list
的长度来完成 .然后我们将这个长度添加到循环外的变量中以跟踪总数 .
对于这里的小例子,它给出
1
,因为'f'
和'm'
是不同的 .如果你还想要匹配(即没有不同)的字符数,那么你可以只做相同的过程,但添加
key
的长度减去差异以获得相同的字符数:它再次给
differences
作为1
,但也给same
作为3
(对于'i'
,'s'
和't'
) .如果您只想要一个布尔值(
True / False
)来确定任何对之间是否存在任何差异,您可以在一行中执行整个操作:在这种情况下,它给出
False
.假设键和值的长度相同,则可以:
假设一个包含多个项目和可能不同长度的键和值的字典,这应该工作:
输出: