Python列表操作大全(非常全!!!)

对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且python的列表是比较强大的,它包含了很多不同类型的数据:整型数字,浮点型,字符串以及对象等。定义举例如下:

List1=[1,2,3,”hello world”,”3.1415926”,[1,2,3]]

对于python列表里元素的操作主要分为以下几个方面:

1、 向列表里面加元素;

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

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

4、 列表分片;

5、 常用的列表操作符;

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

7、 列表的拷贝

下面我们来具体讲解一下每一个部分:

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+1处加入元素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就会直接等于吗列表里最后一个元素。

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里面的索引位置号

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

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

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

 5)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列表的拷贝方法才是真正意义上的深拷贝,而赋值操作只是一种暂时的等量代换,它属于一种浅拷贝。

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

Python列表操作大全(非常全)的更多相关文章

  1. python列表操作大全

    Python列表操作大全 对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且python的列 ...

  2. python第七篇:Python 列表操作详解

    Python列表操作详解 list函数 list()   #生成一个空的列表 list(iterable)  #用可迭代对象初始化一个列表 列表的 and 运算和 or 运算 列表and运算 > ...

  3. Python列表操作集合

    对于python列表里元素的操作主要分为以下几个方面: 1.向列表里面加元素: 向python列表里面添加元素主要有三种方法: (1)append() append()对于列表的操作主要实现的是在特定 ...

  4. Python文件操作大全

    Python 编程文件操作大全   文件打开模式 打开模式 执行操作 'r' 以只读方式打开文件(默认) 'w' 以写入的方式打开文件,会覆盖已存在的文件 'x' 如果文件已经存在,使用此模式打开将引 ...

  5. Python字典操作大全

    //2018.11.6 Python字典操作 1.对于python编程里面字典的定义有以下几种方法: >>> a = dict(one=1, two=2, three=3) > ...

  6. Python字符串操作大全(非常全!!!)

    1. python编程里字符串的内置方法(非常全) capitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) 将字符串居 ...

  7. python文件目录操作大全

    python只获取当前目录下的文件夹及文件名 list = os.listdir(rootdir)#列出目录下的所有文件和目录 for line in list: filepath = os.path ...

  8. python列表操作总结

    list是python中非常重要的类型/数据结构,总结如下: 符号说明 l:列表 l2:新列表 e:元素 index:位置 方法: 原地修改: l.append(e) l.insert(index, ...

  9. Python列表操作常用API

    1.列表的概念 (1)列表的定义 列表是Python中一种基本的数据结构.列表存储的数据,我们称为元素.在列表中的每个元素都会有一个下标来与之对应,第一个索引是0,第二个索引是1,依此类推的整数. 列 ...

随机推荐

  1. linux 重启 启动 apache服务

    如何使用service  httpd restart,不成功的话,直接去apache文件目录里去找可执行文件,执行启动. 一般apache目录 ./usr/local/httpd/bin ,在bin目 ...

  2. LeetCode28.实现strStr() JavaScript

    实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返 ...

  3. java中exception和error有什么区别,运行时异常和一般异常有什么区别

    1.exception和error都是继承了throwable类,在java中只有throwable类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型 2.ex ...

  4. ffmpeg 简单使用总结

    FFMPEG 生成指定长度的空白音频: ffmpeg -f lavfi -i aevalsrc=0 -t seconds -q:a 9 -acodec libmp3lame out.mp3 FFMPE ...

  5. Java中的IO流(二)

    上一篇<Java中的IO流(一)>把学习IO流的字符流作了一下记录,本篇把字节流记录一下. 一,Java中的字节流 Java中的字节流的操作方式与字符流的操作方式大致相同,连方法名都是类似 ...

  6. MySql服务未知原因消失了的解决办法

    一: 5.1及后续版本: 打开计算机命令窗口,切换至mysql安装目录,然后运行bin目录下的mysqld.exe,命令如下: D:\MySQL\bin>mysqld.exe -installS ...

  7. 谨慎修改Oracle数据库字符集(UTF8<->ZHS16GBK)

      Preface       Today,I'm gonna say something what is related with the character set in Oracle datab ...

  8. 『ACM C++』HDU杭电OJ | 1416 - Gizilch (DFS - 深度优先搜索入门)

    从周三课开始总算轻松了点,下午能在宿舍研究点题目啥的打一打,还好,刚开学的课程还算跟得上,刚开学的这些课程也是复习以前学过的知识,下半学期也不敢太划水了,被各种人寄予厚望之后瑟瑟发抖,只能努力前行了~ ...

  9. MFC+ODBC+SQL Server+Visual C++

    利用SQL Server 和MFC实现对数据库的简单管理 工具:SQL Server,VC6.0 步骤如下: 1.建立一个数据库studentinfo,再建立一个表testtable,表设计和初始值如 ...

  10. Filebeat使用模块收集日志

    1.先决条件 在运行Filebeat模块之前: 安装并配置Elastic stack 完成Filebeat的安装 检查Elasticsearch和Kibana是否正在运行,以及Elasticsearc ...