忽略或删除重复的标签

时间:2018-07-02 20:18:03

标签: python string python-3.x python-3.6

我有一个小程序,它接收html标记,然后确定所传递的两组标记\属性是否相同。

此代码有效:

def tags_equal(str1, str2):
    a = list(str1[1:-1].lower().split())
    a.sort()
    b = list(str2[1:-1].lower().split())
    b.sort()
    x = (a == b)
    return x


print(tags_equal("<img src=cats.jpg width=200 height=400>", "<IMG SRC=Cats.JPG height=400 width=200>"))
print(tags_equal("<img src=dogs.jpg width=999 height=400>", "<img src=dogs.jpg width=200 height=400>"))
print(tags_equal("<p>", "<P>"))
print(tags_equal("<b>", "<p>"))

这将正确返回:True,False,True和False。

有一个选项,指出是否传递了重复的属性,然后第一个是要使用的属性,而所有其他属性都相同 名称将被忽略。

这意味着:

tags_equal("<LABEL FOR=id_email for=id_username>", "<LABEL FOR=id_email>")

应返回“ True”,因为“ for = id_username”将被忽略\删除,并且

tags_equal("<LABEL FOR=id_email for=id_username>", "<LABEL FOR=id_username>")

应返回“ False”。

我只是对如何进行感到困惑。另外,可能有两个以上传入的具有相同名称的属性。如果是这样,则第一个保留,而所有其他属性都将被丢弃\忽略。

最后,“第一个获胜者”是基于传递的顺序,而不是岗位排序顺序。

任何帮助将不胜感激。

0 个答案:

没有答案