一、列表

列表与数组相似,定义一个列表 a=[1,2,3,4,5]

1.基本操作

 a=[1,2,3,4]

 #切片  范围取值时,包括第一项但不包括最后一项,顾头不顾尾
print(a[0:]) #从头到尾取值,输出1 2 3 4
print(a[1:3]) #从第2位取值到第4位,输出2 3
print(a[0:-1])#从第1位取值到倒数第2位,输出1 2 3
print(a[3::-1])#从第4位倒着取值到第1位,输出4,3,2,1 a[start:end:step] #添加 append insert
a.append(5)#默认插到最后一个位置,输出1,2,3,4,5
print(a)
a.insert(1,1.5)#在第2位插入一个1.5
print(a) #修改
a[1] = 1.4#修改第2项为1.4
print(a)
a[1:3] = ['b','c']#修改第2、3项为 'b','c'
print(a) #删除 remove pop del
a.remove(1)#删除“1”
print(a)
b = a.pop(1)#根据索引删除并存入b
print(a)
print(b)
del a[0]#删除列表列表中的第一个
print(a)
del a#整个对象从内存中删除 

这里添加一个需要注意的地方:

在修改中,如果选定要修改的元素个数比新的元素个数要少,会删除选定元素的最后一位元素

例子:

 a=[1,2,3,4,5,6]
a[1:4] = ['b','c']#选定了3个元素
print(a)#输出[1, 'b', 'c', 5, 6]

2.列表的自带方法

(1)count()方法

得到列表中的某一元素的出现次数

a=[1,1,1,1,2,3,4]
num = a.count(1)
print(num)
#输出4

(2)extend()方法

将两个列表合并起来,具体是把目标列表加到原列表之后

 a=[1,2,3,4]
b=[2,3,3]
a.extend(b)
print(a)
#输出[1, 2, 3, 4, 2, 3, 3]

(3)index()方法

从列表中检索目标元素并返回位置,若目标元素不存在会报错

 a=[1,2,3,4]
print(a.index(2))
#输出[1]

注意:若检索的是复数元素,只会检索到第一个目标元素的位置。

(4)reverse()方法

将列表倒序

a=[1,2,3,4]
a.reverse()
print(a)
#输出[4, 3, 2, 1]

(5)sort()方法

将按ASCII表的顺序排序(默认从小到大)

可以对sort()方法中的reverse参数进行修改,令reverse=True 可以使列表从大到小排列

a=[2,3,1,4]
a.sort()
print(a)
#输出[1, 2, 3, 4] a.sort(reverse=True)
print(a)
#输出[4, 3, 2, 1]

(6) 如何判断一个对象是否是列表

 a=[1,2,3,4,5,6]
if type(a) is list:
print(True)
else:
print(False)

从零开始的Python学习Episode 4——列表的更多相关文章

  1. 从零开始的Python学习Episode 13——常用模块

    模块 一.time模块 时间戳(timestamp) :时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. 元组(struct_time)   :struct_time元组共有9 ...

  2. 从零开始的Python学习Episode 12——迭代器&生成器

    生成器 列表生成式 用于快速地生成一个列表 a = [x*x for x in range(1,9)] print(a) #输出[1, 4, 9, 16, 25, 36, 49, 64] 也可以用于生 ...

  3. 从零开始的Python学习Episode 23——进程

    ---恢复内容开始--- 进程 由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Python提供了非常好用 ...

  4. 从零开始的Python学习Episode 22——多线程

    多线程 线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. ...

  5. 从零开始的Python学习Episode 20——面向对象(3)

    面向对象之封装 封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体. 隐藏 在python中用双下划线开 ...

  6. 从零开始的Python学习Episode 19——面向对象(2)

    面向对象之继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称 为基类或超类,新建的类称为派生类或子类. 子类会“”遗传”父类的属性,从而解决代码重用问 ...

  7. 从零开始的Python学习Episode 17——序列化

    序列化 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语 言中也被称之为serialization,marshalling,flattenin ...

  8. 从零开始的Python学习Episode 16——模块

    一.模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相 ...

  9. 从零开始的Python学习Episode 15——正则表达式

    正则表达式 正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现,所以使用时要导入re模块.正则表达式模式被编译成一系列的字节码 ...

随机推荐

  1. react native基本调试技巧

    刚入坑RN,很多小坑都要摸索很久才明白.今天咱们就来填console.log()的坑. 废话不多说,开始讲步骤!! 1.在模拟器中打开 开发者菜单,选择 Debug JS Remotely,会自动在浏 ...

  2. #leetcode刷题之路10-正则表达式匹配

    匹配应该覆盖整个字符串 (s) ,而不是部分字符串.说明:s 可能为空,且只包含从 a-z 的小写字母.p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *. 示例 1:输入:s = & ...

  3. Linux 实时查看进程网络的使用情况

    一行代码实现 linux 指定进程网络的使用情况 pid=4203;count=0;while true;do info2=`sed -n '4,100p' /proc/$pid/net/dev |a ...

  4. linux系统基础之---文件系统(基于centos7.4 1708)

  5. MySQL至TiDB复制延迟监控

    因生产环境mysql中有较多复杂sql且运行效率低,因此采用tidb作为生产环境的从库进行部分慢sql及报表的读写分离.其中MySQL至TIDB采用Syncer工具同步.关于TIDB的安装及Synce ...

  6. Struts2+Datagrid表格显示(可显示多表内容)

    概述 最近学到EasyUI的Datagrid数据网格,然后就做了一个小例子,中间层利用Struts2来完成,DAO层用的是Hibernate. 数据库 数据库涉及到stuednt(name,noid, ...

  7. Zookeeper -- 关于Zookeeper

    Zookeeper是什么? 分布式协调框架 Zookeeper中文件呈树形结构,树形结构下包含多个节点,称为Znode:zk中节点存储数据不超过1M,指得是Znode中存储数据不超过1M Zookee ...

  8. django模板的变量,标签,过滤器和自定义过滤器,注释

    模板的作用是计算并输出: {{ 变量}} 当模版引擎遇到点如book.title,会按照下列顺序解析: 1.字典book['title'] 2.先属性后方法,将book当作对象,查找属性title,如 ...

  9. 深浅拷贝--python(预习中随手写的。因为当时很无聊。。。)

    需要知识准备,pyhton基本常识,python的小数据池概念. 深浅拷贝操作需要模块导入:import copy emmm,对于python中的两种数据类型来说. 1.数字,字符串 2.列表,元祖, ...

  10. tkinter的入门,估计也只能站门口

    from tkinter import * import tkinter.messagebox as messagebox #创建一个继承frame的类,是所有小部件(widget的容器) #widg ...