列表操作

1、 向列表里面加元素

向 python 列表里面添加元素主要有三种方法:

(1)append()

       append() 对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后;

       m.append(元素 A)

(2)extend()

       extend() 对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;

       m.extend([元素 A,元素 B,……])

(3)insert()

        insert() 对于列表的操作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从 0 开始的,不是从 1 开始的,这个大家需要特别注意。

       m.insert(A, 元素 B)   # 表示在列表 m 里面的第 A 处加入元素 B

以上的添加功能实现代码与结果如下实例所示:

列表操作

2、删减列表中的一些元素

与之前 python 列表的添加元素相对,删减列表里面的一些元素也有三种方法:

(1)m.remove()

        m.remove 的作用是移除掉列表 m 里面的第一次出现元素;

        m.remove(元素 A)

(2)del m[n]

        它的作用是删除掉列表里面的索引号位置为 n 的元素,这里需要注意的是 del 是一种操作语句。

        del m[n]

(3)m.pop()

        它的作用是将列表 m 的最后一个元素返回,并且在此基础上进行删除掉

        Temp=m.pop()   # 这里 temp 就会直接等于 m 列表里最后一个元素。

        Print(m)   # 这里再次输出 m 的时候已经是删掉最后一个元素的 m 列表

以上的三种操作实例及其实现如下代码所示:

列表操作

3、获取列表里面的特定元素

对于列表里元素的特定获取一般直接进行选取就可以,选取的元素用其索引号进行选取,规范实现代码如下所示:

temp=m[n]   % 获取 m 列表第 n 位置处的元素

列表操作

4、列表分片

例如以下程序及其实现:

对于列表分片的含义需要明白,列表分片就是指将列表里面的一些列元素(不仅仅是某一个元素)进行获取或者得到,获取的规则如下所示:

temp=m[A:B] % 表示将 m 列表里从索引号位置为 A 开始的元素到 B-1 处元素之间的列表获取赋给 temp。

例如以下的代码实现:

列表操作

5、常用的列表操作符

1)+: 它主要实现的是多个列表之间的拼接
常见的列表操作符

2)*:主要实现的是列表的复制和添加

3)比较 >,<: 主要进行数据型列表的元素比较

4)and 等:;逻辑运算符,可以进行列表之间的逻辑判断

具体实例如下所示:

列表操作

6、 其他常见列表操作函数

1)m.count(A):输出元素 A 在列表 m 里面出现的次数

2)m.index(A):输出元素 A 在列表 m 里面的索引位置号

3)m.index(A,a,b):对于列表 m 里面包含多个元素 A 时,输出在列表 m 索引号 a-b 之间的特定索引号

4)m.reverse():将列表 m 进行前后的翻转,前变后,后变前

5)m.sort():将列表 m 里面地数据进行从小到大的排列

6)m.sort(reverse=True):将列表 m 里面地数据进行从大到小的排列

其实对于列表 m 里面的元素进行从大到小的排列还可以用以下方法:

N=m.sort()

N.reverse()

以上的操作函数具体实现实例如下所示:

列表操作

7、 Python 列表的拷贝

对于 python 里面如果想要进行列表的复制,具体的操作语句如下:

1) 深拷贝:

M=[A,b,a,c]

N=M[:]

2) 浅拷贝:

N=M

有人说可以直接将 M 赋值给 N 也是一样的,虽然表面看起来两者的实现效果是一样的,但是如果你要继续对 N 进行操作的时候就会出现问题,因为对于正确的第一种拷贝复制,它的作用是将列表 M 复制下来给 N,如果后面对 M 进行操作,它对于 N 是完全没有影响的,而我们如果采用赋值的方式,那么在后面对 M 操作以后就会影响到 N,N 的值也会随之改变。

综上所述,第一种 python 列表的拷贝方法才是真正意义上的深拷贝,而赋值操作只是一种暂时的等量代换,它属于一种浅拷贝。

具体的实现代码和区别如下所示:

列表操作