从零开始的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模块.正则表达式模式被编译成一系列的字节码 ...
随机推荐
- NAT和DHCP
涉及的命令 NAT 动态NAT清除:clear ip nat translation * 进入路由器环回接口:int loo 0 静态NAT清除: (config)#No ip nat inside ...
- redux-saga框架使用详解及Demo教程
redux-saga框架使用详解及Demo教程 前面我们讲解过redux框架和dva框架的基本使用,因为dva框架中effects模块设计到了redux-saga中的知识点,可能有的同学们会用dva框 ...
- OOP导论系列---抽象过程
OOP导论系列---抽象过程 所有编程语言都提供抽象机制.可以认为,人们所能解决的问题的复杂性直接取决于抽象的类型和质量.所谓“类型”是指“所抽象的是什么?”你可以抽取待求解问题的任何概念化构件,如: ...
- 数据库函数(Left、Right)
MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...
- Linux在线安装jdk8,并配置环境变量
1.创建相关目录:下载目录.安装目录 下载目录: cd / 2.下载jdk8到目录 下载前先跳转到下载目录,比如希望最后压缩包下载到/home/bak/下, 则先创建bak目录,命令如下: 注意:如果 ...
- 关于document.write()加载JS等静态资源 和 异步async加载JS
现流行浏览器对于静态资源的预加载 传统的浏览器,对于静态资源加载,会阻塞 HTML 解析器的线程进行,无论内联还是外链. 例如: <script src="test1.js" ...
- python中的super怎么用?
面向对象有这个强大特点和作用, 著名的三大特点:封装, 继承, 多态 这篇博客写的是super()的简单理解和使用 今天在读restframework的源码的时候, 发现源码中使用了super, 依以 ...
- 「PHP」策略模式
引言 所属:行为型模式,常用设计模式之一 学习资料: <大话设计模式>程杰 模式概述 分享一篇关于策略模式讲的很好的文章,大家可以参考一下:https://www.cn ...
- python__基础 : 多继承中方法的调用顺序 __mro__方法
在多继承中,如果一个子类继承了两个平级的父类,而这两个父类有两个相同名字的方法,那么一般先继承谁,调用方法就调用先继承的那个父类的方法.如: class A: def test(self): prin ...
- 第6章 AOP与全局异常处理6.1-6.4 慕课网微信小程序开发学习笔记
第6章 AOP与全局异常处理 https://coding.imooc.com/learn/list/97.html 目录: 第6章 AOP与全局异常处理6-1 正确理解异常处理流程 13:236-2 ...