您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

是否有关于__cmp__如何在Python 2中为dict对象工作的描述?

是否有关于__cmp__如何在Python 2中为dict对象工作的描述?

如果您要问比较字典的工作原理,是这样的:

用伪代码

def smallest_diff_key(A, B):
    """return the smallest key adiff in A such that adiff not in B or A[adiff] != B[bdiff]"""
    diff_keys = [k for k in A if k not in B or A[k] != B[k]]
    return min(diff_keys)

def dict_cmp(A, B):
    if len(A) != len(B):
        return cmp(len(A), len(B))
    try:
        adiff = smallest_diff_key(A, B)
    except ValueError:
        # No difference.
        return 0
    bdiff = smallest_diff_key(B, A)
    if adiff != bdiff:
        return cmp(adiff, bdiff)
    return cmp(A[adiff], b[bdiff])

这是从dictobject.c中的2.6.3实现翻译而来的。

python 2022/1/1 18:43:47 有284人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶