从零开始的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模块.正则表达式模式被编译成一系列的字节码 ...
随机推荐
- Mybatis 原始dao CRUD方法
用到的相关jar包及所用版本如下: 其中的Mybatis可以到github.com的网站下载 <project xmlns="http://maven.apache.org/POM/4 ...
- OOP导论系列---抽象过程
OOP导论系列---抽象过程 所有编程语言都提供抽象机制.可以认为,人们所能解决的问题的复杂性直接取决于抽象的类型和质量.所谓“类型”是指“所抽象的是什么?”你可以抽取待求解问题的任何概念化构件,如: ...
- centos7 php7 动态编译mysqlnd: configure: error: Cannot find OpenSSL's <evp.h> 错误解决
开始以为是没有安装openssl, openssl-devel,安装后发现还是提示这个错误,搜索了一下evp.h,这个文件也存在.GOOGLE 了一下,在stackoverflow,找到了答案,原来是 ...
- linux安装完jenkins无法访问的问题
jenkins是一个持续集成部署的工具,非常好用,当然,有些细节问题还是需要注意的.当我们兴高采烈的安装完jenkins的时候,然后发现并不能访问,真是气死了. 这个时候就要一步一步检测问题出在哪. ...
- 04JavaScript语法
1.JavaScript 语法 JavaScript 是一个脚本语言. 它是一个轻量级,但功能强大的编程语言 2.JavaScript 字面量 在编程语言中,一般固定值称为字面量,如 3.14. 数字 ...
- 导入jar包和创建jar文件
具体步骤 导入jar包 1.在第一个工程中编写工具类并运行生成.class文件 2.在myeclipse工具栏找到open in 文件夹图标找到.class文件所在的包,将其全部复制到某个盘符下( ...
- HTML 5 audio标签
audio标签的介绍 定义: <audio> 标签定义声音,比如音乐或其他音频流. <audio></audio>是HTML5中的新标签 能够在浏览器中播放音频, ...
- Hbase过滤器
Hbase过滤器简介 HBase的基本API,包括增.删.改.查等,增.删都是相对简单的操作,与传统的RDBMS相比,这里的查询操作略显苍白,只能根据特性的行键进行查询(Get)或者根据行键的范围来查 ...
- kafka zk常用命令
1 创建topic: kafka-topics.sh --create --zookeeper 3.3.3.3:2181 --replication-factor 1 --partitions 3 ...
- 转载:CSS的组成,三种样式(内联式,嵌入式,外部式),优先级
(仅供自己备份) 原文地址:http://blog.csdn.net/chq11106004389/article/details/50515717 CSS的组成 选择符/选择器+声明(属性+值) 选 ...