zoukankan      html  css  js  c++  java
  • python 引用的含义,尤其注意列表跟字典的使用

    a = '12345'
    b = a
    a = 'sssss'
    print('a ===== %s' % a)
    print('b ===== %s' % b)

    结果:

      a ===== sssss
      b ===== 12345

    字符串或者数字的引用指向的是一个值的地址

      


    list 

    a = [1, 2, 3, 4]
    b = a
    b[1] = 5
    print('a ===== %s' % a)
    print('b ===== %s' % b)

    结果

    a ===== [1, 5, 3, 4]
    b ===== [1, 5, 3, 4]

    list的引用,指向的是列表的地址,并不是列表的内容,这种情况会修改list的本身,不想修改list的本身,请使用copy()

    如果要复制的列表中包含了列表, 那就使用 copy.deepcopy()函数来代替


    a = [1, 2, 3, 4]

    b = a.copy() 

    b[0] = 5
    print('a ===== %s' % a)
    print('b ===== %s' % b)

    结果:

    a ===== [1, 2, 3, 4]
    b ===== [5, 2, 3, 4]


    Dictionary 字典

    a = {
    'a': 1,
    'b': 2,
    'c': 3
    }

    b = a
    b['b'] = 4
    print('a ===== %s' % a)
    print('b ===== %s' % b)

    结果:

    a ===== {'a': 1, 'b': 4, 'c': 3}
    b ===== {'a': 1, 'b': 4, 'c': 3}

    字典的引用,指向的是字典的地址,并不是字典的内容,这种情况会修改字典的本身,不想修改字典的本身,请使用copy()

    如果要复制的列表中包含了列表, 那就使用 copy.deepcopy()函数来代替


    a = {
    'a': 1,
    'b': 2,
    'c': 3
    }

    b = a.copy()
    b['b'] = 4
    print('a ===== %s' % a)
    print('b ===== %s' % b)

    结果:

    a ===== {'a': 1, 'b': 2, 'c': 3}
    b ===== {'a': 1, 'b': 4, 'c': 3}

  • 相关阅读:
    C#可空类型 T?
    Unity踩过的坑
    Unity可视化数据:创建图表
    unity3d屏幕截图功能
    unity3d插入android有米广告
    Unity调用PC摄像头
    使用Unity的50个建议
    Unity3d流光效果
    unity3d中的Quaternion.LookRotation
    Unity3D中可重载虚函数的总结
  • 原文地址:https://www.cnblogs.com/xinjing-jingxin/p/8620788.html
Copyright © 2011-2022 走看看