python入门学习-列表和元组(1)

数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合。这些数据元素可以是数字或者字符,甚至可以是其他数据结构。

在python中,最基本的数据结构是序列(sequence)。序列中的每个元素被分配一个序号——即元素的位置,也称为索引。第一个索引是0,第二个是1,以此类推。

1.1序列概览

python包含6种內建的序列,最常用的两种类型是:列表和元组。其他的內建序列类型有字符串、Unicode字符串、buffer对象和xrang对象。

列表和元组主要区别在于,列表可以修改,元组不能修改。如果根据要求来添加元素,那么列表可能会更好用;而出于某些原因,序列不能修改的时候,

使用元组则更为合适。一般来说,在编程中,几乎所有的情况下都可以用列表替代元组(注意一个例外的情况:使用元组作为字典的键,因为键不可修改,所以不能使用列表)。

用序列表示数据库中一个人的信息——第1个元素是姓名,第二个元素是年龄(列表的各个元素通过逗号分隔,写在方括号中)。序列可以包含其他的序列,

所以可以构建一个人员信息的列表,这个列表就是你的数据库。

注:python中还有一种名为容器(contaier)的数据结构。容器基本上是包含其他对象的任意对象。序列(例如列表和元组)和映射(例如字典)是两类主要

的容器。序列中的每个元素都有自已的编号,而映射中的每个元素则有一个名字(也称为键)

1.2通用序列操作

所有序列可以进行特定的操作。这些操作包括:索引(indexing)、分片(slicing)、加(adding)、乘(multiplying)以及检查某个元素是否属于序列的成员

(成员资格)。除此之外,python还有计算序列长度、找出最大元素和最小元素的內建函数。

1.2.1索引

序列中的所有元素都是有编号的——从0开始递增。这些元素可以通过元素分别访问,如下图所示

注:字符串就是一个由字符组成的序列。索引0指向第一个元素,在这个列子中就是字母H。

可以通过索引获取元素。所有序列都可以通过这种方式进行索引。使用负数时,python会从右边,也就是从最后1个元素开始计数。最后1个元素的编号是-1(不是

-0,-0会和第一个元素重合):

如果一个函数调用返回一个序列,那么可以直接对结果进行索引操作。例如,假设你只对用户输入年份的第四个数字感兴趣,那么,可以进行如下操作:

代码清单1-2-1-1是一个示例程序,要求输入年、月(1-12的数字)、日(1-31),然后打印出相应的月份名称等等

代码清单1-2-1-1 索引示例

以下是程序执行的一部分结果:

最后一行是程序的输出

1.2.2分片

分片操作是用来访问一定范围内的元素。分片通过冒号隔开的两个索引来实现:

第1个索引是要提取的第一个元素的编号,而最后的索引则是分片之后剩余部分的第一个元素的编号。见如下代码

简而言之就是第一个索引的元素包含在分片内,第二个则不包含在分片内

1.2.2.1优雅的捷径

如果分片包括序列结尾的元素,那么,只需置空最后一个索引即可:

这种方法也适用于序列开始的元素:

如果需要复制整个序列,可以将两个索引都置空

代码清单1-2-2-1是一个小程序,它会提示输入URL(假设它的形式为http://www.somedomainname.com),然后提取域名。

代码清单1-2-2-1 分片示例

以下是程序运行的示例:

1.2.2.2更大的步长

在普通的分片中,步长是1——分片操作就是按照这个步长逐个遍历序列的元素,然后返回开始和结束点之间的所有元素(显示步长)

如果步长被设置为比1大的数,那么就会跳过某些元素。例如,步长为2的分片包括的是从开始到结束每隔1个的元素。

前面提到的捷径也可以使用。如果需要将每4个元素中的第1个提取出来,那么只要将步长设置为4即可:

步长不能为0(0不会执行),但步长可以是负数,此时分片从右到左提取元素:

当使用一个负数作为步长时,必须让开始点(开始索引)大于结束点。对于正数步长,python会从序列的头部开始向右提取元素,直到最后一个元素;对于负数步长,则是从序列的尾部开始向左提取元素,直到第一个元素。

,

时间: 2024-10-13 11:47:15

python入门学习-列表和元组(1)的相关文章

python入门之列表和元组

获得更多资料欢迎进入我的网站或者 csdn或者博客园 前面一张主要学习了Python的安装,以及第一个程序helloword的编写,以及简单的输入和输出函数 序列 ?这章主要介绍的是列表和元组,而列表和元组是序列的六种内型中的两种,主要区别.列表可以修改,而元组不能.而序列很好用比如要操作一组人的名字和年龄可以这样: peace=['peace one',23] rong=['sisi',22] data=[peace,rong] data [['peace one',23],['sisi',2

python入门:列表和元组

列表与元组的主要不同在于,列表是可以修改的,元组不可以.列表适用于需要中途添加元素的情形,元组适用于出于某种考虑禁止修改序列的情形.在需要处理一系列值时,序列很有用,在数据库中,你可能使用序列来表示人,其中第一个表示姓名,第二个表示年龄.用列表表示如下: user=['Andy',20] 序列还可包含其他序列 user=['Andy',20] use=['john',21] database=[user,usr] database [['Andy', 20], ['john', 21]] dat

python入门学习:7.函数

python入门学习:7.函数 关键点:函数 7.1 定义函数7.2 传递实参7.3 返回值7.4 传递列表7.5 传递任意数量的实参7.6 将函数存储在模块中 7.1 定义函数 ??使用关键字def告诉python要定义一个函数,紧接着跟着函数名,冒号.后面的缩进构成函数体.例如: 1def func_name():2    函数体34def greet_user():5    """显示简单问候语"""6    print("hel

Python入门学习:一步步教你怎么用Python写贪吃蛇游戏

前几天,有人提到贪吃蛇,一下子就勾起了我的兴趣,毕竟在那个Nokia称霸的年代,这款游戏可是经典中的经典啊!而用Python(蛇)玩Snake(贪吃蛇),再合适不过了. 这里通过一个Python入门学习的例子跟大家详细讲解一下! 先通过下面这个效果图来感受下吧! 1 环境 操作系统:Windows Python版本:3.7.3 2 需求分析 我们先来回顾下贪吃蛇中的游戏元素及游戏规则. 首先呢,需要有贪吃蛇.有食物:需要能控制贪吃蛇来上下移动获取食物:贪吃蛇在吃取食物后,自身长度增加,同时食物消

python笔记之列表和元组

pyhton的列表和元组,说白了其实就是一种数据结构,只是在python当中更加方便的去操作而已.. 1.序列 其实字符串就是采取序列的方式的: string = "hello" print string[0] 结果为:h 对比其他编程语言,python还有一个负值索引的概念: 序列的分片: first = [0,1,2,3,4,5,6,7,9] print first[1:6:2] 针对first[1:6:2]这条语句: 1代表的起始索引,不写,默认为0 6代表结束索引,不写默认为所

python 入门学习 载抄

python入门 解释型语言 和编译型语言 计算机本身不能识别高级语言,当我们运行一个程序的时候,需要一个“翻译” 来把 高级语言转换成计算机能读懂的语言. “翻译”过程分两种: 编译 编译型语言在执行程序前,首先会通过编译器执行一个编译的过程,把程序编译成机器语言. 之后,程序再次运行的时候,就不要“翻译”了,而是可以直接执行.比如C语言. 编译型语言的优点在于在运行程序的时候不用解释,可直接利用已经翻译过的文件. 解释 解释型语言就没有编译的过程,而是在程序运行的时候,通过解释器逐行解释代码

python数据结构之 列表和元组

python数据结构之 列表和元组 序列:序列是一种数据结构,它包含的元素都进行了编号(从0开始).典型的序列包括列表.字符串和元组.其中,列表是可变的(可以进行修改),而元组和字符串是不可变的(一旦创建了就是固定的).序列中包含6种内建的序列,包括列表.元组.字符串.Unicode字符串.buffer对象.xrange对象. 列表的声明: mylist = [] 2.列表的操作: (1) 序列的分片: 用法:mylist[startIndex:endIndex:step] exam: myli

Python数据结构:列表、元组和字典

在Python中有三种内建的数据结构——列表list.元组tuple和字典dict 列表中的项目包括在方括号中,项目之间用逗号分割 元组和列表十分类似,只不过元组和字符串一样是不可变的 即你不能修改元组.元组通过圆括号中用逗号分割的项目定义. 元组最通常的用法是用在打印语句中 age = 22 name = 'Swaroop' print '%s is %d years old' % (name, age) print 'Why is %s playing with that python?'

Python入门学习:1.变量和简单的数据类型

python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用 ??变量,顾名思义是一个可变的量,每个变量都存储一个值--与变量关联的信息. 1message = "hello world!"2# message 是一个变量3print(message) ??在python中使用变量时,需要遵循一些规则和指南. 变量名只能包含字母.数字和下划线.变量名可以字母或者下划线打头,但不能以数