从零开始的Python学习Episode 4——列表
一、列表
列表与数组相似,定义一个列表 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——列表的更多相关文章
- 从零开始的Python学习Episode 13——常用模块
模块 一.time模块 时间戳(timestamp) :时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. 元组(struct_time) :struct_time元组共有9 ...
- 从零开始的Python学习Episode 12——迭代器&生成器
生成器 列表生成式 用于快速地生成一个列表 a = [x*x for x in range(1,9)] print(a) #输出[1, 4, 9, 16, 25, 36, 49, 64] 也可以用于生 ...
- 从零开始的Python学习Episode 23——进程
---恢复内容开始--- 进程 由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Python提供了非常好用 ...
- 从零开始的Python学习Episode 22——多线程
多线程 线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. ...
- 从零开始的Python学习Episode 20——面向对象(3)
面向对象之封装 封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体. 隐藏 在python中用双下划线开 ...
- 从零开始的Python学习Episode 19——面向对象(2)
面向对象之继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称 为基类或超类,新建的类称为派生类或子类. 子类会“”遗传”父类的属性,从而解决代码重用问 ...
- 从零开始的Python学习Episode 17——序列化
序列化 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语 言中也被称之为serialization,marshalling,flattenin ...
- 从零开始的Python学习Episode 16——模块
一.模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相 ...
- 从零开始的Python学习Episode 15——正则表达式
正则表达式 正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现,所以使用时要导入re模块.正则表达式模式被编译成一系列的字节码 ...
随机推荐
- react native基本调试技巧
刚入坑RN,很多小坑都要摸索很久才明白.今天咱们就来填console.log()的坑. 废话不多说,开始讲步骤!! 1.在模拟器中打开 开发者菜单,选择 Debug JS Remotely,会自动在浏 ...
- #leetcode刷题之路10-正则表达式匹配
匹配应该覆盖整个字符串 (s) ,而不是部分字符串.说明:s 可能为空,且只包含从 a-z 的小写字母.p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *. 示例 1:输入:s = & ...
- Linux 实时查看进程网络的使用情况
一行代码实现 linux 指定进程网络的使用情况 pid=4203;count=0;while true;do info2=`sed -n '4,100p' /proc/$pid/net/dev |a ...
- linux系统基础之---文件系统(基于centos7.4 1708)
- MySQL至TiDB复制延迟监控
因生产环境mysql中有较多复杂sql且运行效率低,因此采用tidb作为生产环境的从库进行部分慢sql及报表的读写分离.其中MySQL至TIDB采用Syncer工具同步.关于TIDB的安装及Synce ...
- Struts2+Datagrid表格显示(可显示多表内容)
概述 最近学到EasyUI的Datagrid数据网格,然后就做了一个小例子,中间层利用Struts2来完成,DAO层用的是Hibernate. 数据库 数据库涉及到stuednt(name,noid, ...
- Zookeeper -- 关于Zookeeper
Zookeeper是什么? 分布式协调框架 Zookeeper中文件呈树形结构,树形结构下包含多个节点,称为Znode:zk中节点存储数据不超过1M,指得是Znode中存储数据不超过1M Zookee ...
- django模板的变量,标签,过滤器和自定义过滤器,注释
模板的作用是计算并输出: {{ 变量}} 当模版引擎遇到点如book.title,会按照下列顺序解析: 1.字典book['title'] 2.先属性后方法,将book当作对象,查找属性title,如 ...
- 深浅拷贝--python(预习中随手写的。因为当时很无聊。。。)
需要知识准备,pyhton基本常识,python的小数据池概念. 深浅拷贝操作需要模块导入:import copy emmm,对于python中的两种数据类型来说. 1.数字,字符串 2.列表,元祖, ...
- tkinter的入门,估计也只能站门口
from tkinter import * import tkinter.messagebox as messagebox #创建一个继承frame的类,是所有小部件(widget的容器) #widg ...