微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么用一行代码更改执行时间?

如何解决为什么用一行代码更改执行时间?

这是我的第一个代码

def isAnagram(s,t):
    if len(s)!=len(t):
        return False
    for i in s:
        if s.count(i)!=t.count(i):
            return False
    return True

这是我的第二个代码

def isAnagram(s,t):
    if len(s)!=len(t):
        return False
    for i in set(s):
        if s.count(i)!=t.count(i):
            return False
    return True

这是我的第三个代码

def isAnagram(s,t):
    if len(s)!=len(t):
        return False
    for i in set(s[:]):
        if s.count(i)!=t.count(i):
            return False
    return True

我不明白为什么在第 4 行用 s 替换 set(s) 需要更少的执行时间,用 set(s[:]) 替换甚至比其他两个语句更好。

谁能帮我知道为什么会这样?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。