该整理来源于:https://www.runoob.com/python3/python3-data-structure.html

列表

python中列表是可变的,这是它区别于字符串和元组的最重要的特点了:

列表可被修改,字符串和元组不行

以下介绍列表的一些常用方法

 1 list = [5,2,4,3,1,6]
2 list.append(7) #把一个元素添加到列表的结尾
3 print(list)
4 list.extend([8]) #通过添加指定列表的所有元素来扩充列表
5 print(list)
6 list.insert(1,0) #list.insert(i,x)通过在指定的位置加入新的元素,i是准备插入到那个元素的索引
7 print(list)
8 list.remove(0) #删除列表中为0的元素,若没有这个元素,则会报ValueError: list.remove(x): x not in list
9 print(list)
10 list.pop(6) #从列表的指定的位置移除元素,并将其返回,没有指定,就返回最后一个元素
11 print(list)
12 list.pop()
13 print(list)
14 list.index(1) #返回列表中第一个值为1的元素的索引,没有匹配则会ValueError: 0 is not in list
15 print(list)
16 list.sort() #排序
17 print(list)
18 list.reverse() #倒排列表中的元素
19 print(list)
20 list.copy() #返回列表中的潜复制,等于a[:]
21 print(list)
22 list.clear() #清空列表
23 print(list)
 1 [5, 2, 4, 3, 1, 6, 7]
2 [5, 2, 4, 3, 1, 6, 7, 8]
3 [5, 0, 2, 4, 3, 1, 6, 7, 8]
4 [5, 2, 4, 3, 1, 6, 7, 8]
5 [5, 2, 4, 3, 1, 6, 8]
6 [5, 2, 4, 3, 1, 6]
7 [5, 2, 4, 3, 1, 6]
8 [1, 2, 3, 4, 5, 6]
9 [6, 5, 4, 3, 2, 1]
10 [6, 5, 4, 3, 2, 1]
11 []

把列表当做堆栈使用

其中,注意append(),pop():

列表方法使得列表可以很方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个释放(先进后出)。

用append()方法可以把一个元素添加到堆栈顶,用不指定索引的pop()方法把一个元素从堆栈中释放。

>>> list = [1,2,3,4,5]
>>> list.append(7)
>>> list.append(8)
>>> list.pop()
8
>>> list.pop()
7

把列表当做队列使用

在队列里第一个加入的元素,第一个取出来

>>> from collections import deque
>>> queue = deque(["claire","alice","eric"])
>>> queue.append("nancy")
>>> queue.append("toby")
>>> queue.popleft()
'claire'
>>> queue.popleft()
'alice'
>>> queue()
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
queue()
TypeError: 'collections.deque' object is not callable
>>> queue
deque(['eric', 'nancy', 'toby'])

列表推导式

通常应用程序将一些操作应用于某个序列的元素,用其获得的结果作为生成新的列表的元素,或者根据确定的判定条件创建子序列。

每个列表推导式都在for之后跟一个表达式,然后有零到多个for或者if子句。返回的结果是一个根据表达从其后的for和if上下文环境中生成的列表,如果希望表达式推导出一个元组,就必须使用括号。以下是例子:

>>> list = [2,4,6,8]
>>> [3*x for x in list]
[6, 12, 18, 24]
>>> [[x,x+1,x*3]for x in list]
[[2, 3, 6], [4, 5, 12], [6, 7, 18], [8, 9, 24]]
>>> student = ["claire","gigi","hellen"]
>>> [x.strip() for x in student]
['claire', 'gigi', 'hellen']
>>> [2+x for x in list if x < 3]
[4]
>>> [2*i for i in list if i > 1]
[4, 8, 12, 16]
>>>

实力展示将3*4的矩阵,演变成4*3的矩阵

>>> matrix = [
[1,2,3,4],
[2,3,4,5],
[3,4,5,6],
]
>>> [[row[i]for row in matrix] for i in range(4)] [[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6]]

python --整理数据结构(列表)的更多相关文章

  1. (python)数据结构------列表

    一.数字的处理函数 (一)int() 取整数部分,与正负号无关,举例如下: print(int(-3.6), int(-2.5), int(-1.4)) print(int(3.6), int(2.5 ...

  2. Python常见数据结构--列表

       列表 Python有6个序列的内置类型,但最常见的是列表和元组. 序列都可以进行的操作包括索引,切片.加.乘.检查成员. 此外,Python已经内置确定序列的长度以及确定最大和最下的元素的方法. ...

  3. Python基本数据结构--列表

    列表: 1.有序的集合: 2.通过偏移来索引,从而读取数据: 3.支持嵌套: 4.可变的类型: 列表的操作: 1.切片: a = [1,2,3,4,5,6,7] 正向索引 反向索引 默认索引 2.添加 ...

  4. Python笔记——基本数据结构:列表、元组及字典

    转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/10/6312888.aspx Python基本数据结构:列表,元组及字典 一.列表 一组有序项 ...

  5. 转 Python常见数据结构整理

    http://www.cnblogs.com/jeffwongishandsome/archive/2012/08/05/2623660.html Python常见数据结构整理 Python中常见的数 ...

  6. Python常用数据结构(列表)

    Python中常用的数据结构有序列(如列表,元组,字符串),映射(如字典)以及集合(set),是主要的三类容器 内容 序列的基本概念 列表的概念和用法 元组的概念和用法 字典的概念和用法 各类型之间的 ...

  7. Python 第二章-列表和元组

    第二章-列表和元组 2.0      在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...

  8. [转载]Python 元组、列表、字典、文件

    python的元组.列表.字典数据类型是很python(there python is a adjective)的数据结构.这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益 ...

  9. Python学习02 列表 List

    Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...

随机推荐

  1. Lesson0423

    ABS计算几何科普讲座 讲个笑话,ABS又来科普简单知识了 %%% STO szO ABS Orz OTZ %%% 之前完全没有接触过计算几何啊...ABS聚聚给我们从最简单的部分讲起,听得还是很爽的 ...

  2. Java中什么是构造方法

    this(...)本类的构造方法super(...)父类的构造方法构造方法:给对象的数据进行初始化格式:A:方法名与类名相同B:没有返回值类型,连void都没有C:没有具体的返回值注意事项:A:如果我 ...

  3. 即时通信WebSocket 和Socket.IO

    WebSocket HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯. 在2008年诞生,2011年成为国际标准. 现在基本所有浏览器都已经支持了. We ...

  4. linux下文件的打包和压缩

    文章来源:linux下文件的打包和压缩 目录 一.文件压缩的原理 二.linux常见的压缩指令 三.常用实例 1.tar命令 2.zip命令 3.gz命令 4.bz2命令 5.xz命令(必须分两步) ...

  5. sql语句------合并结果集

    select id,max(val) FROM (select id,a 列名 val from 表名unionselect id,b 列名 val from 表名unionselect id,c 列 ...

  6. [Qt] QString 常用函数

    1. append(), prepend() 2. count(), size(), length() 这三个函数是相同的 3. trimmed() 去掉首尾空格 4. isNull() 对未赋值的字 ...

  7. python读取txt批量创建文件

    python读取txt批量创建文件 pythonbatchfile 前几天有个小问题, 需要批量建立很多文件夹,, 所以手动写了个小的脚本, 后续可以直接使用 读取目录文件, 然后直接创建相应的文件 ...

  8. Copy ArrayList的四种方式

    目录 简介 使用构造函数 使用addAll方法 使用Collections.copy 使用stream 总结 Copy ArrayList的四种方式 简介 ArrayList是我们经常会用到的集合类, ...

  9. linux系统的简单配置

    配置网卡:vim /etc/sysconfig/network-scripts/网卡名称 ifcfg-xxxx  ##文件名称 DEVICE=xxx  ##设备名称 BOOTPROTO=dhcp|st ...

  10. Json & pickle 数据序列化

    前提: 文本文件中只能写入字符串或ascii码格式的内容. info={'name':'zoe','age':18} f=open('test.txt','w') f.write(info) #在文本 ...