美文网首页
有意思的元组ID,求解。

有意思的元组ID,求解。

作者: 步履不停的Suunny | 来源:发表于2018-06-28 17:40 被阅读0次

今天看python过程中遇到一个问题,比较疑惑。
元组aee = (1,2,3), 执行aee += ()后, id改变为值A。再执行aee += (), id改变为值B, 再执行aee += (), id又变为值A。 继续执行,id在A和B之间切换。 这是为什么?

先上代码:

def test():
    aee = (1,2,3)
    print ("1:", aee)
    print ("id_1:", id(aee))
     
    aee += ()
    print ("2:", aee)
    print ("id_2:", id(aee))
    
    aee += ()
    print ("3:", aee)
    print ("id_3:", id(aee))
    
    aee += ()
    print ("4:", aee)
    print ("id_4:", id(aee))
    
    aee += ()
    print ("5:", aee)
    print ("id_5:", id(aee))

if __name__ == "__main__":
    test()

运行结果:

λ python3 C:\Users\qingfang\Desktop\test20180628.py
1: (1, 2, 3)
id_1: 2554181486200
2: (1, 2, 3)
id_2: 2554181486344     # id A
3: (1, 2, 3)
id_3: 2554181417648   # id B
4: (1, 2, 3)
id_4: 2554181486344   # id A
5: (1, 2, 3)
id_5: 2554181417648   # id B

中间添加一个元组,查看id是否有改变?

def test():
    aee = (1,2,3)
    print ("1:", aee)
    print ("id_1:", id(aee))
    
    aee += ()
    print ("2:", aee)
    print ("id_2:", id(aee))
    
    aee += ()
    print ("3:", aee)
    print ("id_3:", id(aee))
    
    abb = (2,3,4)            #测试代码
    print ("abb:", abb)
    print ("id_abb:", id(abb))
    
    aee += ()
    print ("4:", aee)
    print ("id_4:", id(aee))
    
    aee += ()
    print ("5:", aee)
    print ("id_5:", id(aee))

if __name__ == "__main__":
    test()

运行结果:

λ python3 C:\Users\qingfang\Desktop\test20180628.py
1: (1, 2, 3)
id_1: 2760120043128
2: (1, 2, 3)
id_2: 2760119974576   # id A
3: (1, 2, 3)
id_3: 2760120076832 # id B
abb: (2, 3, 4)
id_abb: 2760120043272   # 添加的变量 Id
4: (1, 2, 3)
id_4: 2760119974576 # id A
5: (1, 2, 3)
id_5: 2760120076832 # id B

还是相同的。

相关文章

  • 有意思的元组ID,求解。

    今天看python过程中遇到一个问题,比较疑惑。元组aee = (1,2,3), 执行aee += ()后, id...

  • python 例题

    元组 将字符串转化成元组 人不变心变 就是元组里的列表ID不变 元组大框里面的ID变 多变量一起赋值 并交换值 (...

  • 人类从历史中学到的唯一教训,就是人类无法从历史中学到任何教训。—

    有意思,求解。

  • 并发控制

    并发控制 了解事务ID和元组结构 元组增删改 提交日志 事务快照 可见性检查及相应的规则参考文档:http://w...

  • leetcode sum问题

    注意: 二元组的结果不会重复 方法: a)暴力求解:时间复杂度O(n*n) b)使用unordered_map来进...

  • orm

    ret = xxx.objects.filetrer(id=1).delete()ret返回的是一个元组 当fil...

  • Python之序列类型方法

    温故而知新:前面学习了三种序列,字符串、列表,元组列表是可变的(内容可改变,但是id不变);字符串、元组是不可变(...

  • 统计出序列(列表、元组、字符串等等)中元素的频度

    在处理数据时,有时需求为统计出序列(列表、元组、字符串等等)中元素的频度,下面以简单的小实例讲解个人求解方式,细节...

  • 关于 Swift

    title: 关于 Swift Swift 简介 类型安全与行推断 元组 字符串插值 可选类型

    ThreeSum问题

    ThreeSum问题:计算所有不同的整数的三元组的和,统计和为0的数量。上述代码是最简单直接的求解方式。 通过简单...

网友评论

      本文标题:有意思的元组ID,求解。

      本文链接:https://www.haomeiwen.com/subject/ejigyftx.html