从零开始的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模块.正则表达式模式被编译成一系列的字节码 ...
随机推荐
- http1.X与2.0
HTTP HTTP 1.X HTTP是建立在TCP协议上的,HTTP协议的瓶颈及优化都是基于TCP协议本身的特性. TCP建立连接时有三次握手 会有1.5RTT的延迟,为了避免每次请求都经历握手待来的 ...
- HTML&CSS 问题
1.子div使用浮动,父div高度自适应(个人感觉好用) 方法: css: <style> .clear{ clear:both} </style> html:在父div关闭之 ...
- 使用py2exe将python程序打包成exe程序
近日帮朋友写了个python小程序,从互联网上抓取一些需要的文章到本地.为了运行方便,希望能转换成exe程序在windows下定期执行.从百度上找了些文章,发现py2exe的应用比较多,遂使用之. 1 ...
- Spring入门第一课:Spring基础与配置Bean
1.入门 Spring是简化java开发的一个框架,其中IoC和AOP是Spring的两个重要核心.由于Spring是非侵入性的,通过Ioc容器来管理bean的生命周期,还整合了许多其他的优秀框架,所 ...
- Oracle条件判断列数量非where
sum(case when typename='测试' then 1 else 0 end)
- mysql 的基本操作总结--增删改查
本文只是总结一下mysql 的基本操作,增删改查,以便忘记的时候可以查询一下 1.创建数据库 语法:CREATE DATABASES 数据库名; 例子: CREATE DATABASES studen ...
- flask第三方插件WTForms
在django中有ModelForm, 虽然flask原生没有提供, 但是强大的第三方也提供了这样的功能 虽然不如django的强大, 但是基本的功能还是可以有的, 下面就来使用一哈. WTForms ...
- 大数据学习--day02(标识符、变量、数据类型、类型转换、进制转换、原码反码补码)
标识符.变量.数据类型.类型转换.进制转换.原码反码补码 标识符: java50个关键字不能做标识符,以数字开头不能做标识符(这个老是忘记写一个类名的时候) 变量: 变量分为成员变量和局部变量,注意作 ...
- STM32(11)——DMA
简介: DMA:Direct Memory Access,直接存储器访问.DMA传输数据从一个地址空间复制到另外一个地址空间.当CPU初始化这个传输动作,传输动作本身就是DMA控制器来实现和完成.典型 ...
- 20190121-n个人围成一圈,凡报到3的人退出圈子,最后留下的是原来第几号的那位
1. 报数问题:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位 思路:此题主要问题在于但凡报到3的人退出圈子,而报数的号码与圈子的 ...