Python基础(序列,列表,字典和集合)

发布于:2022-12-02 ⋅ 阅读:(1286) ⋅ 点赞:(1)
  • 序列的应用

 

序列一块用于存放多个值的连续内存空间,并且按照一定的顺序排列。序列中的每一个元素都有一个编号,也称为索引。

切片:访问序列中元素的另一种方法,可以访问一定范围内的元素。

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为要添加的列表

 

修改元素

修改列表中的元素只需要通过索引获取该元素,然后再为其重新赋值即可。

 

 

删除元素:主要有两种情况,一种是根据索引删除,另一种是根据元素值进行删除。

根据索引删除

 

根据元素值删除,remove()方法

 

 

获取指定元素出现的次数

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()函数

!!!元组和列表的区别

  1. 元组和列表都属于序列,而且都可以按照特定顺序存放一组元素,类型又不受限制,只要是Python支持的类型即可

  2. 列表属于可变序列,它的元素可以随时修改或者删除;元组属于不可变序列,其中的元素不可以修改,除非整体替换

  3. 列表可以实现添加和修改列表元素;元组不能实现添加和修改、删除元素

  4. 元组比列表的访问和处理速度快,所以当只是需要对其中的元素进行访问时,建议使用元组

  5. 列表不能作为字典的键,而元组可以 

  • 字典  

无序的可变序列 

形式上: - 值对

主要特征如下:通过键而不是通过索引来读取

                               字典是任意对象的无序集合

                               字典是可变的,并且可以任意嵌套

                               字典中的键必须唯一

                               字典中的键必须不可变

dictionary={‘key1’:‘value1’,‘key2’:‘value2’,...,‘keyn’:‘valuen’,}

dictionary:表示字典名称

key1key2...keyn:表示元素的键,必须是唯一的,并且不可变

value1value2...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: 该篇算是对老师课堂的总结吧,原本想放一些案例供各位参考学习,但由于最近较忙就搁置了(其实是犯懒了),总之就是该篇应该是非常非常的基础,仅供小白学习,然后可放心食用,我是一个无情的搬用工(老师笔记本~)。完最后的最后希望我的分享对各位能有浅浅的帮助吧。###

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到