gpt4 book ai didi

Python 列表和相等性

转载 作者:行者123 更新时间:2023-11-28 21:53:22 25 4
gpt4 key购买 nike

我正在为期中考试练习,我遇到了这个:

the_cake = [1,2,[3],4,5]
a_lie = the_cake[1:4]
the_cake = the_cake[1:4]
great = a_lie
delicious = the_cake
moist = great[:-1]

在Python解释器中运行这段代码后,为什么是:

the_cake.append == a_lie.append
False

我的想法是它们是相等的方法,虽然不是“IS”,但应该实现相等。

也许由于实例化,这评估为 False?如果这是真的,那么类属性在比较时是否评估为 True?这是列表对象的特例吗?


跟进:根据这个: Is there a difference between `==` and `is` in Python?

“如果两个变量指向同一个对象,IS 将返回 True,== 如果变量引用的对象相等。”

那么 List 类的方法是否指向“append”方法的单独实例?

所以如果我定义一个函数 x(parameter),每次调用它时,它都会是相同的,因为它是分配给不同变量的同一个对象,对吧?

然后对于一些等效的变量“参数”:

x(parameter) == x(parameter)
True

谢谢!

最佳答案

这些方法及其各自的对象实例位于不同的位置。例如我们有:

a = []
b = []

所以我们有:

>>> a.append == b.append
False

它们各自的位置在:

>>> a.append
<built-in method append of list object at 0x7f7c7c97d560>
>>> b.append
<built-in method append of list object at 0x7f7c7c97d908>

注意不同的地址。

关于Python 列表和相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26579406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com