• Python之复制列表


    将一个列表的数据复制到另外一个列表中。

     1 a = [1,2,3] #定义列表a
     2 
     3 b = a[:] #将列表a的切片赋值给b,也可以理解为将b的值设置为a[:]
     4 
     5 print(a) #打印列表a
     6 print(b) #打印列表b
     7 
     8 print(id(a)) #打印一下列表a的内存地址 140053600489344
     9 print(id(b)) #打印一下列表b的内存地址 140053600514432
    10 
    11 a.append('4') #向a列表末尾追加字符串'4'
    12 print(a) #打印列表看看
    13 print(id(a)) #打印列表a的内存地址 140053600489344,跟上面的一样,表示是就地追加,没有开辟新的内存
    14 
    15 b.append('5')
    16 print(b)
    17 print(id(b)) #打印列表b的内存地址 140053600514432,跟上面的一样,表示是就地追加,没有开辟新的内存
    18 
    19 '''将列表a的切片赋值给列表b,那么列表a和列表b是两个不同的对象,在内存中都有独立的空间。
    20 '''
    21 
    22 c = ['a','b','c'] #定义列表c
    23 d = c #将列表c直接赋值给d
    24 
    25 print(c); #打印列表c
    26 print(d); #打印列表d
    27 
    28 print(id(c)) #打印内存地址 140179340729280
    29 print(id(d)) #打印内存地址 140179340729280 
    30 
    31 c.append('5'); #向列表c追加字符串'5';
    32 print(c); #打印列表c,输出:['a', 'b', 'c', '5']
    33 d.append('6'); #向列表d追加字符串'6';
    34 print(c); #打印列表c,输出:['a', 'b', 'c', '5', '6']
    35 print(d); #打印列表d,输出:['a', 'b', 'c', '5', '6']
    36 print(id(c)); #查看修改列表后的内存地址:140179340729280
    37 print(id(d)); #查看修改列表后的内存地址:140179340729280

    总结:

    1,将列表复制给列表,要用切片。这样子不会破坏原列表,而只是将列表的副本给了新标签。
    2,变量无类型,对象有类型。
    3,变量只是对象贴的标一个标签。
    4,列表是修改是"就地"修改,不会改变内存地址。也就是说不会在内存中开辟另一块空间来存储修改后的列表。

  • 相关阅读:
    内存警告
    倒影效果
    设计模式六大原则
    设计模式
    GCD线程
    字符串颜色值转换
    下划线按钮
    电池栏上弹窗
    项目发布相关
    UINib xib加载
  • 原文地址:https://www.cnblogs.com/mafu/p/13495080.html
Copyright © 2020-2023  润新知