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}

  • 相关阅读:
    jQuery UI炫酷雨滴落在水面上的波纹涟漪特效
    mysql_jdbc
    数据库设计---合适的就是最好的
    谈谈 .NET Reflector
    整型反序
    iOS给Model排序
    php安装zendDebug
    zTree实现地市县三级级联封装类
    rnnlm源代码分析(八)
    CSS制作响应式正方形及其应用
  • 原文地址:https://www.cnblogs.com/xinjing-jingxin/p/8620788.html
Copyright © 2011-2022 走看看