从零开始的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模块.正则表达式模式被编译成一系列的字节码 ...
随机推荐
- admin源码解析及自定义stark组件
admin源码解析 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单 ...
- 随机数使用不当引发的生产bug
前几天负责的理财产品线上出现问题:一客户赎回失败,查询交易记录时显示某条交易记录为其他人的卡号. 交易的链路如下: 出现该问题后,我们对日志进行了分析,发现主站收到的两笔流水号完全相同,然而主站却没有 ...
- C# 对象的深复制和浅复制
2019年第一篇博客,好吧,又大了一岁了,继续加油吧. 正文: C# 中的对象,众所周知是引用类型,那么如何复制对象Object呢,我们来看看下面这段代码: public class User { p ...
- Python基础知识--Slice(切片)和Comprehensions(生成式)
最近在Youtube的Python视频教程上学习Python相关的基础知识,视频由Corey Schafer制作,讲得十分简单明了,英文发音也比较清晰,几乎都能听懂,是一个不错的Python入门学习的 ...
- Java代码注释
单行注释: 选中代码,按下ctrl+/ 一条代码单行注释:选中一条代码按下ctrl+/,则为一条代码单行注释: 多条代码单行注释:选中多条代码按下ctrl+/,则为多条代码单行注释: 取消注释:对已经 ...
- Hive(6)-DML数据操作
一. 数据导入 1. 语法 load data [local] inpath 'path' [overwrite] into table table_name [partition (partcol1 ...
- python+selenium实现自动抢票
使用说明 程序运行开始,需要输入出发地,目的地,出发时间,乘客信息,车次:乘客信息和车次可以输入多个 刚刚开始学习爬虫,selenium仅仅是解放了双手,运行效率不是很高: 程序运行时会打开chrom ...
- ruby配置镜像源
1.打开电脑的cmd窗口,输入如下命令即可查看gem镜像: gem sources l 或是直接使用 gem sources 查询结果如下: C:\Users\Administrator>gem ...
- 函数调用方法之__cdecl与_stdcall
在debug VS c工程文件时,碰到cannot convert from 'int (__cdecl *)(char *)' to 'xxx'这个问题,发现问题在于typedef函数指针类型时,将 ...
- Sql Server char、varchar、nchar、nvarchar的区别
(1) 定义: char: 固定长度,存储ANSI字符,不足的补英文半角空格. nchar: 固定长度,存储Unicode字符,不足的补英文半角空格 varchar: 可变长度,存储ANSI字符,根据 ...