Python序列的应用背记手册

1、切片


切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素。通过切片操

作可以生成一个新的序列。实现切片操作的语法格式如下:

sname[start : end : step]

参数说明:

sname:表示序列的名称。

start:表示切片的开始位置(包括该位置),如果不指定,则默认为0。

end:表示切片的截止位置(不包括该位置),如果不指定,则默认为序列的长度。

step:表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也可

以省略。


2、检查某个元素是否是序列的成员


在Python中,可以使用in关键字检查某个元素是否为序列的成员,即检查某个元素是否

包含在某个序列中。语法格式如下:

value in sequence

其中,value 表示要检查的元素,sequence 表示指定的序列。


3、序列相关内置函数


函数作用

list() 将序列转换为列表

str() 将序列转换为字符串

sum() 计算元素和

reversed() 反向序列中的元素

enumerate() 将序列组合为一个索引序列,多用在for 循环中

sorted() 对元素进行排序


4、列表的创建和删除


(1)同其他类型的Python 变量一样,创建列表时,也可以使用赋值运算符“=”直接

将一个列表赋值给变量,语法格式如下:

listname = [element 1,element 2,element 3,…,element n]

(2)创建空列表

在Python 中,也可以创建空列表,例如,要创建一个名称为emptylist 的空列表,可以

使用下面的代码:

emptylist = []

(3)创建数值列表

在Python 中,可以使用list() 函数直接将range()函数循环出来的结果转换为列表。

list()函数的基本语法如下:

list(data)

其中,data 表示可以转换为列表的数据,其类型可以是range 对象、字符串、元组或者

其他可迭代类型的数据。

(4)删除列表

对于已经创建的列表,不再使用时,可以使用del 语句将其删除。语法格式如下:

Del listname

其中,listname 为要删除列表的名称。


5、遍历列表


(1)直接使用for 循环实现

直接使用for 循环遍历列表,只能输出元素的值,语法格式如下:

for item in listname:

# 输出item

其中,item 用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可;listname

为列表名称。

(2)使用for 循环和enumerate()函数实现

使用for 循环和enumerate()函数可以实现同时输出索引值和元素内容,语法格式如下:

for index,item in enumerate(listname):

# 输出index 和item

参数说明:

index:用于保存元素的索引。

item:用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可。

listname 为列表名称。


6、添加列表元素语法格式如下:


listname.append(obj)

上面介绍的是向列表中添加一个元素,如果想要将一个列表中的全部元素添加到另一个

列表中,可以使用列表对象的extend()方法实现。extend()方法的语法如下:

listname.extend(seq)

其中,listname 为要添加元素的列表名称,obj 为要添加到列表末尾的对象。seq 为要添

加的列表。语句执行后,seq 的内容将追加到listname 的后面。


7、对列表进行统计和计算


(1)获取指定元素出现的次数

使用列表对象的count()方法可以获取指定元素在列表中的出现次数。基本语法格式如

下:

listname.count(obj)

(2)获取指定元素首次出现的下标

使用列表对象的index()方法可以获取指定元素在列表中首次出现的位置(即索引)。

基本语法格式如下:

listname.index(obj)

参数说明:

listname:表示列表的名称。

obj:表示要判断是否存在的对象,这里只能进行精确匹配,即不能是元素值的一部分。

(3)统计数值列表的元素和

在Python 中,提供了sum()函数用于统计数值列表中各元素的和。语法格式如下:

sum(iterable[,start])

参数说明:

iterable:表示要统计的列表。

start:表示统计结果是从哪个数开始(即将统计结果加上start 所指定的数),是可选参

数,如果没有指定,默认值为0。

8、对列表进行排序

(1)使用列表对象的sort()方法

列表对象提供了sort()方法用于对原列表中的元素进行排序。排序后原列表中的元素顺

序将发生改变。列表对象的sort()方法的语法格式如下:

listname.sort(key=None,reverse=False)

参数说明:

listname:表示要进行排序的列表。

key:表示指定从每个元素中提取一个用于比较的键(例如,设置“key=str.lower”表

示在排序时不区分字母大小写)。

reverse:可选参数,如果将其值指定为True,则表示降序排列;如果为False,则表示

升序排列,默认为升序排列。

(2)使用内置的sorted()函数实现

在Python 中,提供了一个内置的sorted()函数,用于对列表进行排序。使用该函数进行

排序后,原列表的元素顺序不变。storted()函数的语法格式如下:

sorted(iterable,key=None,reverse=False)

参数说明:

iterable:表示要进行排序的列表名称。

key:表示指定从每个元素中提取一个用于比较的键(例如,设置“key=str.lower”表示

在排序时不区分字母大小写)。

reverse:可选参数,如果将其值指定为True,则表示降序排列;如果为False,则表示

升序排列,默认为升序排列。


9、列表推导式


(1)生成指定范围的数值列表,语法格式如下:

list = [Expression for var in range]

参数说明:

list:表示生成的列表名称。

Expression:表达式,用于计算新列表的元素。

var:循环变量。

range:采用range()函数生成的range 对象。

(2)根据列表生成指定需求的列表,语法格式如下:

newlist = [Expression for var in list]

参数说明:

newlist:表示新生成的列表名称。

Expression:表达式,用于计算新列表的元素。

var:变量,值为后面列表的每个元素值。

list:用于生成新列表的原列表。

(3)从列表中选择符合条件的元素组成新的列表,语法格式如下:

newlist = [Expression for var in list if condition]

参数说明:

newlist:表示新生成的列表名称。

Expression:表达式,用于计算新列表的元素。

var:变量,值为后面列表的每个元素值。

list:用于生成新列表的原列表。

condition:条件表达式,用于指定筛选条件。


10、元组的创建和删除


(1)使用赋值运算符直接创建元组

同其他类型的Python 变量一样,创建元组时,也可以使用赋值运算符“=”直接将一个

元组赋值给变量。语法格式如下:

tuplename = (element 1,element 2,element 3,…,element n)

其中,tuplename 表示元组的名称,可以是任何符合Python 命名规则的标识符;elemnet

1、elemnet 2、elemnet 3、elemnet n 表示元组中的元素,个数没有限制。

(2)创建数值元组

在Python 中,可以使用tuple()函数直接将range()函数循环出来的结果转换为数值元组。

tuple()函数的基本语法如下:

tuple(data)

其中,data 表示可以转换为元组的数据,其类型可以是range 对象、字符串、元组或者

其他可迭代类型的数据。

(3)删除元组

对于已经创建的元组,不再使用时,可以使用del 语句将其删除。语法格式如下:

del tuplename

其中,tuplename 为要删除元组的名称。


11、集合的创建


(1)直接使用“{}”创建集合

setname = {element 1,element 2,element 3,…,element n}

参数说明:

setname:表示集合的名称,可以是任何符合Python 命名规则的标识符。

elemnet 1,elemnet 2,elemnet 3,…,elemnet n:表示集合中的元素,个数没有限制

(2)使用set()函数创建

零基础学Python

在Python 中,可以使用set()函数将列表、元组等其他可迭代对象转换为集合。set()函

数的语法格式如下:

setname = set(iteration)

参数说明:

setname:表示集合名称。

iteration:表示要转换为集合的可迭代对象,可以是列表、元组、range 对象等,也可以

是字符串。如果是字符串,返回的集合将是包含全部不重复字符的集合。


12、集合的添加和删除


(1)向集合中添加元素

向集合中添加元素可以使用add()方法实现,语法格式如下:

setname.add(element)

参数说明:

setname:表示要添加元素的集合。

element:表示要添加的元素内容,只能使用字符串、数字及布尔类型的True 或者False

等,

不能使用列表、元组等可迭代对象。

(2)从集合中删除元素

在Python 中,可以使用del 命令删除整个集合,也可以使用集合的pop()方法或者remove()

方法删除一个元素,或者使用集合对象的clear()方法清空集合,即删除集合中的全部元素,

使其变为空集合。

mr.remove('零基础学Python') # 移除指定元素

print('使用remove()方法移除指定元素后:',mr)

mr.pop() # 删除一个元素

print('使用pop()方法移除一个元素后:',mr)

mr.clear() # 清空集合

print('使用clear()方法清空集合后:',mr)


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,539评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,594评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,871评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,963评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,984评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,763评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,468评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,850评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,002评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,144评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,823评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,483评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,026评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,150评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,415评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,092评论 2 355

推荐阅读更多精彩内容