一、序列

1.1、序列概念

pythn中最基本的数据结构是序列(sequence).

序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推。类似JAVA中数组和集合中的下标。

从后向前,最后一个索引是-1,-2,。。。。

python包含6种内建序列。最常用的两种类:列表和元组,其它内奸序列类型有字符串、Unicode字符串、buffer对象和xrange对象.

列表和元组的主要区别在于,列表可以修改,元组不能修改。

添加元素就用列表。

由于 一些原因不能修改时就用元组。

二、序列

2.1、序列概念

使用[]定义,如green=['test','test1','test2']

2.2、序列指定元素操作

字符串也是由字符组成的序列

使用len(序列名)获取序列长度

最后一个元素是len()-1,

使用序列名[索引号]获取指定索引元素

删除元素用pop(索引)函数,删除最后一位不用写索引

修改指定索下元素:序列名[索引]=新值

添加新元素在最后位置

序列名.append(新元素)

2.2、分片

分片可以操作一定范围内的元素。

分片通过冒号相隔的两个索引来实现

如:taget='<a href="http://www.163.com">163 web sit</a>'

taget[9:28]取的是从下标9开始到下标28的元素

第一个索引元素是包含在分片内的,

第二个索引则不包含在分片内。

使用数字更明显

2.3、使用步长

[索引:索引:步长]

负数做为步长时,必须让开始点大于结束点。

以于一个正数步长,Python会从序列的头部开始向右提取元素,直到最后一个元素;

而对于负数步长,则是从序列的尾部开始向左提取元素,直到第一个元素。

2.4、序列相加

2种相同类型的序列才可以相加想连接在一起,类型不同无法连接在一起

2.4、序列相乖

用数字x乖以一个序列会生成新的序列,在新的序列中,原来的序列将被重复x次

None、列表和初始化

空列表可以简单通过,两个中括号进行表示[]--什么都没有,但,如果想创建一个占用10个元素空间,却不包括任何有用内容的列表,可以[42]*10,或者[0]*10,这个就生成了一个包括10个0元素的列表,

然而,有时可能会需要一个值来代表空值------意味没有放置任何元素,这个时候可以使用None,

None是python内建值,它的确切含意是“这里什么都没有”,因此,如果想初始化一个长度为10的列表,可以使用[None]*10,

 

2.5、成员资格

检查一个元素是不是在序列中,使用in运算符,在就返回True不在就返回False

2.6、长度、最大值和最小值

长度用len(列表名)

最大值max(列表名)

最小值min(列表名)

三、列表

3.1、list函数

字符串不能像列表一样被修改,使得list可以将字符串,拆分成列表,每个字符一个元素。适用于所有类型的序列,不只是字符串。

3.2、改变列表:元素赋值

使用列表[索引]=新值即可

3.3、改变列表:删除元素

序列可以使用pop(索引)来删除

这里用del 列表名[索引]来删除

3.3、改变列表:分片赋值

使用 列表名[索引:索引]=新值

可以使用步长来赋值,正负步长

3.3、列表:常用方法

1.append()方法用于在列表末尾追加新的对象:列表.append(新的元素)

2.count方法统计某个元素在列表中出现的次数:列表.count(值)

3.extend 方法可以在列表末尾一次性追加加一个序列中的多个值。

4.index方法用于从列表中找出某个值第一次出现的下标索引列表.index(值)

5.insert方法用于将对象插入到列表 中,列表.insert(索引,值)

6.pop方法会移除列表中的一个元素,默认是最后一个,并返回这个元素的值。列表.pop();

7.remove方法用于移除列表中某个值的第一匹配项。列表.remove(值)

8.reverse 方法列表中的元素反向存放 。

9.sort()对列表进行排序

10.高级排序.如果需要按特定的方式排序而不是sort默认的方式)可以使用compare(x,y)的形式进行自定义比较

compare(x,y)会在x<y是返回负数

compare(x,y)会在x>y是返回正数

compare(x,y)会在x=y是返回0

11.sort:方法有另外两个可选参数,key-reverse,如果使用它们,就要通过名字来指定,

参数key与cmp类似,---必须提供,在一个排序过程中使用的函数,它不是来确定对象的大小,而是为每个元素创建一个键,然后所有元素根据键来排序,因此如果根据元素的长度进行排序,那么可以使用len作为函数

12.reverse:是简单的布尔值(True或者False),用来指明列表是否进行返向排序

四、元组

4.1、元组概念

元组列表一样也是序列,唯一不同是元组不能修改,字符串也是这样

创建元组,语法:使用逗号,分隔一些值,就自动创建了元组.最好使用小括号

使用(,,,,,,,)来声明

4.2、tuple函数

4.3、基本元组操作

因为不能修改,只有访问操作了。

五、所用函数

cmp(x,y)   :比较两个值

len(seq):序列的长度

list(seq):把序列转换成列表

max(args):返回序列或者参数集合中的最大值

minx(args):返回序列或者参数集合中的最小值

reversed(seq):对象序列进行反转迭代

sorted(seq):返回已经排序的包含seq所有元素的列表

tuple(seq):把序列转换成元组

Python学习三---序列、列表、元组的更多相关文章

  1. 记录我的 python 学习历程-Day03 列表/元组/rang

    一.列表初识 列表是 Python 的基础数据类型之一,它是以''[ ]''的形式括起来的,每个元素用","隔开,属于容器型数据类型,他可以存放大量的.各种类型的数据. 基本格式 ...

  2. python学习三:列表,元组

    1.列表: 1.列表的定义方式: list1 = [1,2,3,4,"hello","world"] 如上所示,list1就是一个列表,列表的内容以中括号包含起 ...

  3. python笔记(1)--序列(列表 元组 range)

    一.序列分类 1.可变序列:list 2.不可变序列:tuple,range 二.序列公共操作方法 1.操作和返回值 其中s和t代表同类型序列:n,i,j,k为整数:x为任意类型. 序号 操作 结果 ...

  4. Python学习2-列表和元组

    Python学习2-列表和元组 标签(空格分隔): 列表 元组 在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序号--即元素的位置,也称为索引.索引从0开始. ...

  5. python学习笔记之列表与元组

    一.概述 python包含6种内建的序列,其中列表和元组是最常用的两种类型.列表和元组的主要区别在于,列表可以修改,元组则不能修改 使用上,如果要根据要求来添加元素,应当使用列表:而由于要求序列不可修 ...

  6. 【循序渐进学Python】2. Python中的序列——列表和元组

    序列概览 在Python中有六种内建的序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.在这里暂时只讨论列表和元组.列表和元组的主要区别在于:列表可以修改,元组(不可 ...

  7. python学习笔记整理——列表

    Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...

  8. python 基础篇 04(列表 元组 常规操作)

    本节主要内容:1. 列表2. 列表的增删改查3. 列表的嵌套4. 元组和元组嵌套5. range 一. 列表1.1 列表的介绍列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. ...

  9. python基础数据类型之列表,元组操作

    一.列表的索引和切片1.列表的索引列表和字符串一样样拥有索引 lst = ["a","b","c"] print(lst[0]) # 获取第 ...

随机推荐

  1. 代码演示用 .NET 4.5 (C# 5.0)自带的压缩类 ZipArchive 创建一个压缩文件

    代码如下: using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; ...

  2. 【转载】VMware下LINUX的虚拟机增加磁盘空间

    转载自:http://space.itpub.net/24435147/viewspace-694200 VMware6.7安装目录下有一个命令行工具vmware-vdiskmanager.exe 程 ...

  3. 初涉SQL Server性能问题(3/4):列出阻塞的会话

    在 初涉SQL Server性能问题(2/4)里,我们讨论了列出等待资源或正运行的会话脚本.这篇文章我们会看看如何列出包含具体信息的话阻塞会话清单. /************************ ...

  4. hive的内部表与外部表创建

    最近才接触Hive.学到了一些东西,就先记下来,免得以后忘了. 1.创建表的语句:Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_na ...

  5. 【团队冲刺总结】一个编码人员的反(tu)思(cao)

    消失了半个多月了啊,算算时间,好像确实有近个把月没有好好的写博客来了.我一直很想写博客的,之前有老师问过写博客的动力是什么.我想了想,我觉得可能是我比较喜欢看书吧,不管是专业书还是小说(好吧,我承认, ...

  6. Python+Selenium进行UI自动化测试项目中,常用的小技巧4:日志打印,longging模块(控制台和文件同时输出)

    在前段时间,为了给项目中加入日志功能,就想到了 logging 模块,百度logging一大推,都是各种复制的,并没有找到自己想要的结果:我的目的很简单,就是:在把日志写入文件的同时在控制台输出,更加 ...

  7. struts2基础——自定义拦截器

    一.自定义拦截器 默认的拦截器能实现的功能是有限的,Struts2 支持自定义拦截器. 二.拦截器类 1.实现 Interceptor 接口 2.继承 AbstractInterceptor 抽象类, ...

  8. IOS 之 PJSIP 笔记(二) iPJSUA 的简单使用

    上一篇在编译完之后,就很不负责的结束了,本篇就对 PJSIP 库中提供的一个示例 iPJSUA 的使用,做一个简单的介绍.也能解除很多人对官方文档的一个困扰,起码我是被困扰过了. 首先,要确保你的 P ...

  9. C#学习笔记(1) --简叙.net体系结构

    1 C#与.NET的关系 (1) C#是专门为与Microsoft的.Net Framework一起使用而设计的. (2) C#是一种基于面向对象设计方法的的语言. (3) 需要注意的是,C#就其本身 ...

  10. c#通用递归生成无限层级树

    NewsType结构: Id ParentId Name children(List<NewsType>) public void LoopToAppendChildren(List< ...