首页 > 试题广场 >

以下python脚本的运行结果正确的是 &nbs...

[单选题]
以下python脚本的运行结果正确的是

    def addElement(_list):
        print(6, id(_list))
        _list.append(0)
        print(7, id(_list))
        return _list

    if __name__ == "__main__":
        list1 = [1, 2, 3]
        print(1, id(list1))
        list2 = addElement(list1)
        print(2, list1)
        print(3, id(list1))
        print(4, list2)
        print(5, id(list2))
  • 1 52875528<br><br>6 52875528<br><br>7 52875528<br><br>2 [1, 2, 3, 0]<br><br>3 52875528<br><br>4 [1, 2, 3, 0]<br><br>5 52875528
  • 1 52875528<br><br>6 52879800<br><br>7 52879800<br><br>2 [1, 2, 3]<br><br>3 52875528<br><br>4 [1, 2, 3, 0]<br><br>5 52879800
  • 1 52875528<br><br>6 52879800<br><br>7 52879800<br><br>2 [1, 2, 3]<br><br>3 52875528<br><br>4 [1, 2, 3, 0]<br><br>5 52889000
  • 1 52875528<br><br>6 52875528<br><br>7 52889000<br><br>2 [1, 2, 3]<br><br>3 52875528<br><br>4 [1, 2, 3, 0]<br><br>5 52889000
列表是可变对象,在list2 = addElement(list1)赋值情况下,只是对原对象的引用,未复制,其地址不变
发表于 2019-07-12 15:56:29 回复(0)
和java不一样,java的话list 1 list 2和函数里面都是不同的地址
发表于 2022-07-01 17:45:42 回复(0)