zoukankan      html  css  js  c++  java
  • python学习(7)关于列表操作相关命令以及浅复制深复制

    在python中,[]表示的是列表。列表有各种操作命令。

    1、append()方法,添加一个元素到列表尾部。

    注意append()方法与extend()方法有区别:list.append(object) 向列表中添加一个对象object而list.extend(sequence) 把一个序列seq的内容添加到列表中

    例如:

     1 names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
     2 names2=["liuyi","zhangsong"]
     3 
     4 names.extend(names2)
     5 print(names)
     6 
     7 >>>>>>>
     8 ['hongtao', 'xiaoweihong', 'hongyuchan', ['show530', 'luby'], 'hongpingshui', 'guochaoxi', 'liuyi', 'zhangsong']
     9 ___________________________________________________
    10 
    11 names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
    12 names2=["liuyi","zhangsong"]
    13 
    14 names.append(names2)
    15 print(names)
    16 
    17 >>>>>>>>>
    18 ['hongtao', 'xiaoweihong', 'hongyuchan', ['show530', 'luby'], 'hongpingshui', 'guochaoxi', ['liuyi', 'zhangsong']]

    2、关于 remove(),pop(),以及del列表操作的相同点和不同点:

    (1)remove 是删除首个符合条件的元素。并不是删除特定的索引。

    1 >>> a = [0, 2, 2, 3]

    2 >>> a.remove(2)

    3 >>> a

    4 [0, 2, 3] 

    (2)对于 del 来说,它是根据索引(元素所在位置)来删除的。

    1 >>> a = [3, 2, 2, 1]

    2 >>> del a[1]

    3 [3, 2, 1]  

    (3)pop返回的是你弹出的那个数值。

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

    2 >>> a.pop(1)

    3 3

    4 >>> a

    5 [4, 5] 

    3、关于深度COPY和浅度COPY的区别:

    简单地说,深度COPY就是把A列表简单的复制一份,跟A列表一模一样。而浅度COPY复制的时候遭遇到列表中包含列表的情况的话,他只复制内存地址。

    例如以下代码:

     1 import copy
     2 names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
     3 names2=copy.copy(names)
     4 names[3][0]="SHOW530"
     5 names[3][1]="LUBY"
     6 print(names2)
     7 
     8 输出结果>>>>>>>
     9 
    10 ['hongtao', 'xiaoweihong', 'hongyuchan', ['SHOW530', 'LUBY'], 'hongpingshui', 'guochaoxi']
    11 
    12 
    13 import copy
    14 names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
    15 names2=copy.deepcopy(names)
    16 names[3][0]="SHOW530"
    17 names[3][1]="LUBY"
    18 print(names2)
    19 
    20 输出结果>>>>>>>
    21 
    22 ['hongtao', 'xiaoweihong', 'hongyuchan', ['show530', 'luby'], 'hongpingshui', 'guochaoxi']

    4、关于列表中元素的位置表示方法及间隔

    names[0:-1] 表示从列表names中第一个元素到最后一个元素;

    names[0:-1:2] 表示从列表names中第一个元素到最后一个元素,步长为2,每个元素间隔1

    names[0:-1:2]有时也会简写成names[::2]如果步长是1,那么可以简写为names[:]

  • 相关阅读:
    Qt QPainter::end: Painter ended whith 2 saced states
    2月6日学习内容
    2月5日学习总结
    2月4日所学内容
    2月3日学习内容
    2月2日学习收获
    2月1日学习内容
    构建之法读后感(一)
    11月从小工到专家读后感(二)
    11月从小工到专家的读后感(一)
  • 原文地址:https://www.cnblogs.com/show530/p/8567932.html
Copyright © 2011-2022 走看看