土豆芝士. 2022-04-14 22:19 采纳率: 25%
浏览 20

为什么x和y这两个列表不同啊

第一个为什么是False啊
真的想不明白那句话 怎么就不是同一个列表对象了啊

img

  • 写回答

3条回答 默认 最新

  • A-Chin 2022-04-14 23:08
    关注

    Python中的==和is,主要的是,== 看的是值,is看的是地址。这篇博客讲的很清楚 https://blog.csdn.net/qq_26442553/article/details/82195061

    举个例子

    a = [12, 3, 4, 5, 6, 78, 9]
    b = a
    print (a == b)
    print (a is b)
     
    c = [12, 3, 4, 5, 6, 78, 9]
    print (a == c)
    print (a is c)
    
    

    img

    改变b中第一个元素的值

    a = [12, 3, 4, 5, 6, 78, 9]
    b = a
     
    c = [12, 3, 4, 5, 6, 78, 9]
     
    print ("b中第一个元素的值修改之前")
    print ("a为:" + str(a))
    print ("b为:" + str(b))
    print ("c为:" + str(c))
     
     
    # 改变b中第一个元素的值
    b[0] = b[0] + 1
    print ("b中第一个元素的值修改之后")
    print ("a为:" + str(a))
    print ("b为:" + str(b))
     
    print (a == b)
    print (a is b)
     
    print ("c为:" + str(c))
    print (a == c)
    print (a is c)
    
    

    img

    改变b中第一个元素的值之后,a的值也改变了。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月14日