列表、元组、字典、集合

序列

1.序列是一种数据储存方式,储存一系列的数据,在内存中,序列就是一块用来存放多个值的连续的内存空间。
2.列表中可以放任意类型的元素,列表的大小可变,根据需要随时增加或减小
一个字符串是一个字符序列
在这里插入图片描述
在这里插入图片描述

列表的创建

1.基本语法[]创建
a=[]#创建一个空的列表对象
2.list()创建(可将任何可迭代的数据转换成列表
a=list()#创建一个空的列表对象
3.range()创建整数列表(返回的是一个range()对象,而不是列表,通过list()将其转换成列表对象)
range([start],[end],[step])start可选默认为0,end必选,step可选默认为1
用法:a = list(range(start,end,step))
4.推导式生成列表
a = [x2 for x in range(5)]#循环创建多个元素输出[0,2,4,6,8]
a = [x
2 for x in range(5) if x%3==0]#if过滤元素[6]

列表元素的增加与删除(一般只在尾部添加或删除元素)

1.append()方法
原地修改列表对象,真正的列表尾部添加新的元素,速度最快
2.+运算符操作
创建新的列表对象,依次复制原来列表的元素和新添加列表的元素到新的列表对象中
3.extend()方法
将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象
4.insert()插入元素
将指定元素任意添加到列表的指定位置(插入位置后面的所有元素向后移动)
5.乘法扩展
生成一个新列表,对原列表元素进行多次重复
6.del删除
删除列表指定位置的元素(其后元素拷贝)
7.pop()方法
删除并返回指定位置的元素,如未指定位置则默认操作列表尾部元素
8.remove()方法
删除首次出现的指定元素,若不存在该元素则抛出异常

列表元素的访问和计数

1.通过索引直接访问元素
索引区间【0,len()-1】超过范围抛出异常
2.index()获得指定元素在列表中首次出现的索引
用法:index(value,[start,[end]])(start,end指定搜索范围)
3.count()获得指定元素在列表中出现的次数
返回指定元素在列表中出现的次数
4.len()返回列表长度即元素个数
5.成员资格判断
①count()如返回0,则不存在
②in关键字,存在True反之False

切片操作

快速提取子列表或修改,标准格式:[起始偏移量start:终止偏移量end[:步长step]](步长省略时可以省略第二个冒号)(包头不包尾)
列表的遍历:for x in list:\nprint(x)

列表排序

修改原列表,不建立新列表的排序
1.sort()默认升序排列
2.sort(reverse=True)降序排列
3.import random
random.shuffel(list)打乱顺序
建立新列表的排序
内置函数sorted(),不对原列表做修改,返回的是新列表#默认升序
sorted(list,reverse=True)#降序排列
reverse()返回迭代器
reverse()不对原列表做修改,返回一个逆序排列的迭代器对象
max()返回最大值,min()返回最小值sum()求和
##多维列表(二维列表)

元组(不可变序列,不能修改其中元素)(访问和处理速度比列表快)

1.索引访问
2.切片操作
3.连接操作
4.成员关系操作
排序只能使用内置函数sorted(),生成新的元组对象
5.比较运算操作
6.计数
·Zip
zip(列表1,列表2·····)将多个列表对应位置的元素组成元组,并返回zip对象

元组的创建

1.通过()创建元组
如只有一个元素其后必须加逗号,解释器会把(1)解释为整数1
2.通过tuple()创建
Tuple(可迭代的对象)
3.生成器推导式创建元组
生成器推导式产生的不是元组也不是列表,是一个生成器对象,可以进行转化,也可以使用生成器对象的**next()方法进行遍历**
a=(x*2 for x in range(10))
tuple(s)(转换为元组)(只能访问一次元素,第二次访问需要再生成一次)

字典

字典是“键对值”的无序可变系列,其中每一个元素都是一个“键对值”包含“键对象”和“值对象”,可以通过“键对象实现快速获取、删除、更新对应的”值对象“。键是任意的不可变对象,不可重复;值是任意的数据,可重复

字典的创建

1.{}和dict()创建

a = {'name':'zhangsan','age':18,'job':'teacher'}
b = dict(name='zhangsan',age=18,job='teacher')
c = dict([("name","zhangsan"),("age",18)])

2.zip()创建

a = ['name','age','job']
b = ['zhangsan',18,'teacher']
d = dict(zip(a,,b))

3.通过fromokeys创建值为空的字典
a = dict.fromokeys([‘name’,‘age’,‘job’])#值为空

字典元素的访问

1.通过键获得值,如键不存在则抛出异常
2.通过get()方法获得值,键不存在则返回None,也可以指定键不存在时返回的对象
a.get(‘键’,‘指定值’)
3.列出所有的键值对
a.items()
4.列出所有的键、值
a.keys()
a.values()
5.len()键值对的个数
6.检测一个”键“是否存在
‘name’ in a

字典元素的添加、修改和删除

1.添加新”键值对“
如”键“已存在,则覆盖原来的键值对
如”键“不存在,则新增键值对
2.使用update()将新字典中所有的键值对全部添加到旧字典对象上,如“键”有重复,则直接覆盖
3.元素的删除
①del()方法
②clear()删除所有键值对
③pop()删除指定键值对,并返回对应的值
4.popitem()随机删除和返回改键值对

序列解包

序列解包可以用于元组、列表、字典,让我们方便的对多个变量赋值
其用于字典时,默认是对“键”进行操作,对键值对进行操作使用items(),对值进行操作使用values();

集合

无序可变,元素不能重复,底层是字典实现,所有元素都是“键”对象,因此是不能重复且唯一的

创建与删除

1.使用{}创建集合,使用add()方法添加元素
2.使用set(),将列表、元组等可迭代对象转成集合
3.remove()删除指定元素;clear()清空整个集合
4.并集:“|”或union()
5.交集:“&”或intersection()
6.差集:“-”或difference()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值