序列的应用
序列:一块用于存放多个值的连续内存空间,并且按照一定的顺序排列。序列中的每一个元素都有一个编号,也称为索引。
切片:访问序列中元素的另一种方法,可以访问一定范围内的元素。
sname[start:end:step]
sname:表示序列的名称
start:表示切片的开始位置(包括该位置),如果不指定,则默认为0;
end:表示切片的截至位置(不包括该位置),如果不指定,则默认为序列的长度。
step:表示切片的步长 ,若省略,则默认为1,当省略该步长时,最后一个冒号也可以省略。
序列相加
在Python中,支持两种相同类型的序列相加操作,即将两个序列进行连接,不会去除重复的元素,使用加(+)运算符实现。
序列的乘法
使用数字n乘以一个序列会生成新的序列,新序列的内容为原来序列被重复n次的结果。
检查某个元素是否是序列的成员
使用in关键字检查某个元素是否包含在某个序列中。
格式为:value in sequence,是结果返回为True;否结果返回为Flase。
value:表示要检查的元素;
sequence:表示指定的序列。
使用not in关键字检查某个元素是否不包含在某个序列中。不包含返回返回True;包含返回False。
计算序列的长度、最大值和最小值
len()函数计算序列的长度,返回序列包含多少个元素;
max()函数:返回序列中的最大元素;
min()函数:返回序列中的最小元素。
Python提供的内置函数
列表应用
由一系列按特定顺序排列的元素组成的,它是Python中内置的可变序列。
形式上:所有元素都放在一对中括号“[]”中,两个元素间使用“,”分隔。
内容上:整数、实数、字符串、列表、元组等任何类型,并且元素类型可以不同。
列表的创建和删除
使用赋值运算符直接创建列表
listname=[element 1,element 2,element 3,...,element n]
创建空列表
基本语法:emptylist=[]
创建数值列表,通过range()函数创建列表
基本语法:list(data)
eg:
a=list(range(10,20,2))
print(a)
删除列表
基本格式:del listname
不常用,因为Python自带的垃圾回收机制会自动销毁不用的列表
遍历列表
直接使用for循环实现
语法格式:for item in listname:
item保存获取到的元素值,listname为列表名称
使用for循环和enumerate()函数实现
语法格式:for index,item in enumerate(listname):
index:用于保存元素的索引
item:用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可
listname:列表名称
添加、修改和删除列表元素
添加元素
listname.append(obj)
listname:要添加元素的列表名称
obj:添加到列表末尾的对象
将一个列表中的全部元素添加到另一个列表的末尾中,使用列表对象的extend()方法
listname.extend(seq)
listname为原列表
seq为要添加的列表
修改元素
修改列表中的元素只需要通过索引获取该元素,然后再为其重新赋值即可。
删除元素:主要有两种情况,一种是根据索引删除,另一种是根据元素值进行删除。


获取指定元素出现的次数
count()方法用于判定指定元素出现的次数,返回结果为0时,表示不存在该元素。
基本语法格式:listname.count(obj)
listname:表示列表的名称
obj:表示要判断是否存在的对象
返回值:元素在列表中出现的次数
listname.pop() 方法是输出列表的最后一个元素
获取指定元素首次出现下标
统计数值列表的元素和
sum(iterable[,start])
iterable:表示要统计的列表
start:表示统计结果是从哪个数开始,可选参数,默认值为0
对列表进行排序
使用列表对象的sort()方法
listname.sort(key=None,reverse=False)
listname:表示要进行排序的列表
key:表示指定从每个元素中提取一个用于比较的键
reverse:可选参数,如果设置为True,表示降序排列;如果设置为False,表示升序排列
sort()方法对字符串列表进行排序时,采用的规则时是先对大写字母排序 ,然后对小写字母排序。
使用内置的sorted()函数实现
用于对列表进行排序
sorted=(iterable,key=None,reverse=False)
iterable:表示要进行排序的列表名称
key:表示指定从每个元素中提取一个用于比较的键
reverse:可选参数,设置为True表示 降序排列;设置为False,表示升序;默认为升序排列
列表推导式:快速生成一个列表
生成指定范围的数值列表
list=[Expression for var in range]
list:表示生成的列表名称
Expression:表达式,用于计算新列表的元素
var:循环变量
range:采用range()函数生成的range对象
元组
“不可变序列”
形式上:元组的所有元素都放在一对“( )”中,两个相邻元素间使用“,”分隔;
内容上:可以存放,整数、实数、字符串、列表、元组等任何类型的内容,并且同一个元组中,元素的类型可以不同
#如果创建的元组包含一个元素,则需要在定义元组时,在元素的后面加一个“,” 不加“,”的话表示一个字符串
元组是不可变序列,所以我们不能对它的单个元素值进行修改!!!
重新赋值进行修改
在进行元组连接时,连接的内容必须都是元组,不能将元组和字符串或者列表进行连接。
元组推导式
可以快速生成一个元组,和列表推导式类似,知只是将列表推导式中的“[]”修改为“()”
元组推导式生成结果并不是一个元组或者列表,而是一个生成器对象;
使用该生成器对象可以将其转换为元组或列表,转换为元组使用tuple()函数,转换为列表使用list()函数
!!!元组和列表的区别
元组和列表都属于序列,而且都可以按照特定顺序存放一组元素,类型又不受限制,只要是Python支持的类型即可
列表属于可变序列,它的元素可以随时修改或者删除;元组属于不可变序列,其中的元素不可以修改,除非整体替换
列表可以实现添加和修改列表元素;元组不能实现添加和修改、删除元素
元组比列表的访问和处理速度快,所以当只是需要对其中的元素进行访问时,建议使用元组
列表不能作为字典的键,而元组可以
字典
“无序的可变序列”
形式上:“键 - 值对”
主要特征如下:通过键而不是通过索引来读取
字典是任意对象的无序集合
字典是可变的,并且可以任意嵌套
字典中的键必须唯一
字典中的键必须不可变
dictionary={‘key1’:‘value1’,‘key2’:‘value2’,...,‘keyn’:‘valuen’,}
dictionary:表示字典名称
key1、key2、...keyn:表示元素的键,必须是唯一的,并且不可变
value1、value2、...、valuen:表示元素的值,可以是任何数据类型,不是必须唯一的。
创建空字典
dictionary={} 或者 dictionary=dict()
创建空字典
使用dict()对象的formkeys()方法创建值为空的字典
dictioinary=dict.fromkeys(list)
删除字典
del dictionary
dictionary.clear()
通过键值对访问字典
实际开发中,我们不可能知道当前存在什么键,所以需要避免该异常的产生;
解决办法:使用if语句对不存在的情况进行处理,即设置一个默认值
使用字典对象的get()方法获取指定键的值
dictionary.get(key[,default])
dictionary:为字典对象,即要从中获取值的字典
key:为指定的键
default:为可选项,用于指定当指定的“键”不存在时,返回一个默认值,如果
省略,则返回None
遍历字典
使用字典对象的items()方法可以获取字典的“键 - 值对”列表
dictionary.items()
上面的例子获取的是元组中的各个元素,如果想要获取具体的每个键和值,可以使用下面的代码
添加、修改和删除字典元素
dictionary[key]=value
在字典中,“键”必须是唯一的,如果新添加元素的“键”与已经存在的“键”重复,
那么将使用新的“值”替换原来该“键”的值
#在python3中,dict.update(dict2)表示把字典2的键-值对更新到dict里
当字典中的某一个元素不需要时,可以使用del命令
集合
形式上:集合的所有元素放在{}中,相邻元素之间使用“,”分隔
内容上:保存不重复元素
集合的创建
setname={element 1,elment 2,element 3,...,element n}
#由于set()集合是无序的,所以每次输出时元素的排列顺序可能都不相同
使用set()函数创建
setname=set(iteration)
setname:表示集合名称
iteration:表示要转换为集合的可迭代对象
集合的添加和删除
setname.add(element)
setname:表示要添加元素的集合
从集合中删除元素
使用del命令删除整个集合,也可以使用集合的pop()方法或remove()方法删除一个元素;或者使用集合对象的clear()方法清空集合
集合的交集、并集和差集运算
交集运算,使用符号&
并集运算,使用符号|
差集运算,使用符号-
对称差运算,使用符号^
列表、元组、字典和集合的区别
###(~tips: 该篇算是对老师课堂的总结吧,原本想放一些案例供各位参考学习,但由于最近较忙就搁置了(其实是犯懒了),总之就是该篇应该是非常非常的基础,仅供小白学习,然后可放心食用,我是一个无情的搬用工(老师笔记本~)。完最后的最后希望我的分享对各位能有浅浅的帮助吧。###