python06 字典 集合 字符串

字典

基本概念

字典是无序的对象集合,使用键-值储存,具有极快的查找速度。键必须使用不可变类型。同一个字典中键必须是唯一的。
字典的每个键值用冒号:分割。每个键值对之键用逗号,分割。整个字典包括在花括号{}中。
dic={key1:value1,key2:value2}

常用方法

这里面的函数都需要用 d.函数 使用
d.keys() 返回字典中键的列表。
d.values() 返回字典中值的列表。
d.items() 返回tuples的列表,每个tuple(元组)由字典的键和相应的值组成。
d.clear()删除字典的所有条目。
d.copy() 返回字典高层结构的一个拷贝,但不复制嵌入结构,而只复制对那些结构的引用。
d.updata(x) 用字典x中的键值对更新字典内容。
d.get(x[,y]) 返回键x所对应的值。若未找到该键,返回none。若提供y,则未找到x时返回y。
d.pop(k[,default]) 键k存在,返回相应的值,同时删除这对键值对,否则返回default的值
d.popitem() 随机取出一个键值对,以元组形式返回
字典的键一般是唯一的,如果重复最后的一个键值对会替换前面的值,值不需要唯一。

  • 注:这里面方括号括起来表示可有可无,以后的文章中也会有类似的表示
    在这里插入图片描述

创建方式

创建字典:

1.基础语法方式
字典中值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
dict={‘A’:‘2341’,‘Cvxc’:‘46’}
2.创建字典:dict函数
使用dict函数。通过其他映射,比如字典或者键值序列对创建字典。
items= [(‘dfs’, ‘sdf’),(‘age’,12)] 列表中有两个元组
d=dict(items)
dict函数也可以通过关键字参数来创建字典。
d=dict(name=‘sdf’,age=42)等号左边为键,右边为值。
3.字典元素的访问
假设d为一个字典。
list(d) 把所有的key转换为列表。
list(d.values())把所有的值转换为列表。
list(d.items())把所有的元素转换为列表。每一个键值对形成一个元组。

字典元素的修改添加与删除

1.当指定“键”为下标 为字典元素赋值时,有两种含义。
一若该键存在表示修改该键对应的值。
二若不存在。表示添加一个新元素。
2.使用字典对象的update()方法可以将另一个字典元素一次性全部添加到当前字典对象,如果两个字典中存在相同的键,则以另一个字典中的值为准对当前字典进行更新。
3.可以使用字典对象的pop()删除指定键对应的元素,同时返回对应的值。
4.popitem()用于删除字典的一个键值对,并返回一个包含两个元素的元组,其中的两个元素分别是字典元素的键和值。删除的是字典中最后的键值对。
5.也可以使用del删除指定的键对应的元素。如del d[‘df’]
在这里插入图片描述
在这里插入图片描述

主要用法

在这里插入图片描述

集合

概述

python 集合是无序可变的容器对象所有元素放在一对大括号中,元素之间用逗号分隔,同一个集合内的每个元素都是唯一的,不允许重复
集合中只能包含数字 字符串,元组等不可变数据类型。而不能包含列表,字典,集合等可变类型的数据。包含列表等可变类型数据的元组也不能作为集合的元素。
集合中的元素是无序的,元素储存顺序和添加顺序并不一致。索引切片操作都不可使用。
集合不支持使用下标直接访问特定位置上的元素,也不支持使用random中的choice函数从集合中随机选取元素,但支持使用random模块中的sample函数随机选取部分元素。
创建一个空集合,用set() 函数
在这里插入图片描述

常用方法

s=add(x):将元素x添加到集合s中,如果元素已经存在,则不进行任何操作。
s=update(x):将x的元素添加到集合s中,x可以是列表,元组,字典等。
s.pop(x):随机删除集合中的一个元素。若为空,则返回异常
s.remove(x):将元素x从集合中删除,如果元素不存在,则会发生错误。
s.discard(x):将元素x从集合中删除,如果元素不存在,不会发生错误。
s.clear() :清除所有元素
在这里插入图片描述

集合的运算

在这里插入图片描述
增强操作符
在这里插入图片描述

集合应用场景

1.关系比较
2.数据去重
在这里插入图片描述

字符串

字符串是用双引号或者单引号括起来的一个或多个字符。三引号括起来可以支持多行的长字符串。
字符串可以保存在变量中,也可以单独存在。
字符串属于不可变对象,所有方法都是返回处理后的新的字符串或字节串,不对原字符串进行任何修改。
可以使用type函数测试类型。
输出带有引号的字符串,可以使用转义符。
反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。

字符串操作

单个索引辅助访问字符串中的特定位置。格式为s[整数] 这里面假定s是一个字符串。
x in s 判断子串。如果是子串返回true,否则返回false。
str()可以把大多数数据类型直接转化成字符串。
for var in string 循环遍历字符串中的每个字符。
在这里插入图片描述

常用方法

s.index(x),s.rindex(x) 检测x是否包含在字符串中返回第一次出现相应的索引值,如果不存在返回异常。其中index从左侧开始查找。另一个从右侧开始查找。
s.count(x)返回x(x可以是一个子字符串。)在字符串里面出现的次数。
s.replace(str1,str2,max) 将字符串str1替换成str2,max指定最多替换的次数
maketrans():创建字符映射的转换表。
translate(str):根据str给出的映射转换表转换string字符。
ljust(width,fillchar)返回一个与原字符串左对齐,并使用fillchar填充至长度为width的新字符串。fillchar为默认为空格。rjust() center()居中类似。

s.split(str=“xxxx”,num=string.count(str)),其中string.count(str)以str为分隔符截取字符串,如果num(后一个参数)有指定值,仅截取num+1个子字符串,rsplit()类似,从右侧开始截取。默认使用空格进行分隔。
“xxx”.join(seq):以指定字符串xxx作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串。
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/bj_zhb/article/details/104646613