我需要找出两个列表在引用方面是否相等,在值方面是否相等或不相等

时间:2017-01-11 06:27:58

标签: python python-3.x equality

def type_of_equality(list1, list2):
    new_string = ""
    if list1 == list2:
        new_string += "value"
        return new_string
    elif list1 != list2:
        new_string += "not equal"
        return new_string
    elif list1 is list2:
        new_string += "reference"
        return new_string

当我尝试这个时

x = [1,2,3]
y = x
print(type_of_equality(x, y))

输出应该是引用,但输出相等。我该如何解决这个问题。

1 个答案:

答案 0 :(得分:4)

在检查是否相等之前,您应该检查是否list1 is list2

当x是y时,x总是等于y。