Day 07 数据类型的内置方法[列表,元组,字典,集合]
数据类型的内置方法
一:列表类型[list]
1.用途:多个爱好,多个名字,多个装备等等
2.定义:[]内以逗号分隔多个元素,可以是任意类型的值
3.存在一个值/多个值:多个值
4.有序or无序:有序
5.可变or不可变:可变数据类型
6.常用操作+内置方法
* 优点掌握
1.按索引取值(正向取值和反向取值),即可存也可以取
2.切片
3.长度len
4.成员运算 in 和 not in
5.追加append
6.删除 del,
7.循环
* 需要掌握
1.insert:有2个参数,第一个参数是索引,第二个参数是需要插入的元素,具体效果是在指定索引前插入元素
2.pop:有一个参数,按指定索引移除列表内的元素,如果超出列表长度,会报错,需要注意
3.remove:一个参数,按照元素名称移除,如果这个元素不存在,移除会报错
4.count:一个参数,用法是统计列表内指定元素的个数,如果不存在直接返回0,不会报错
5.index:3个参数,第一个参数是查找指定元素所在列表内的所对应的索引,返回的是第一个先找到的元素所对应的索引,如果查找的元素不存在会报错
6.clear:直接清空列表
7.copy:是复制列表
8.extend:一个参数,在列表后追加元素
9.reverse:没有参数,功能是将列表内的元素反转过来
10.sort:没有参数,是将列表内的元素进行排序
二:元组类型的内置方法[tuple]
元组是不可变的列表,即元组的值不可更改,因此元组一般只用于只取不存的需求。也因此元组可以被列表取代掉,所以元组相比较列表使用的很少。元组相比较列表的优点为:列表的值修改后,列表的结构将会发生改变,而元组只需要存储,因此列表在某种程度上而言需要占用更多的内存。但是目前工业上内存已经不是问题了,所以工业上元组一般不会使用。
1.用途:多个装备、多个爱好、多门课程,甚至是多个女朋友
2.定义:在()内可以有多个任意类型的值,逗号分隔元素
3.存一个值or多个值:多个值
4.有序or无序:有序
5.可变or不可变:不可变数据类型
* 优先掌握
1.索引取值
2.切片(顾头不顾尾,不长)
3.长度len
4.成员运算 in/not in
5.循环
6.count:一个参数,用法是统计列表内指定元素的个数,如果不存在直接返回0,不会报错
7.index:3个参数,第一个参数是查找指定元素所在列表内的所对应的索引,返回的是第一个先找到的元素所对应的索引,如果查找的元素不存在会报错
列表可变的原因是:索引所对应的值的内存地址是可以改变的
元组不可变得原因是:索引所对应的值的内存地址是不可以改变的,或者反过来说,只要索引对应值的内存地址没有改变,那么元组是始终没有改变的。
三:字典类型的内置方法[dict]
1.用途:存多个值,但每一个值都有一个key与之对应,key对值有描述功能。多用于存的值表示的是不同的状态时,例如存的值有姓名、年龄、身高、体重、爱好。
2.定义:{}内用逗号分隔开多个元素,每一个元素都是key:value的形式,value可以是任意数据类型,而key通常应该是字符串类型,但是key必须为不可变类型
3.存一个值or多个值:多个值,值可以是多个类型,key必须是不可变类型,通常应该是不可变类型中的字符串类型
4.有序or无序:无序
5.可变or不可变:可变数据类型
6.存一个值or多个值:多个值,值可以是多个类型,key必须是不可变类型,通常应该是不可变类型中的字符串类型
7.有序or无序:无序
8.可变or不可变:可变数据类型
* 优先掌握
1.按key存取值;可存可取
2.长度len
3.成员运算 in/not in
4.删除del
5.键key(),值valuse(),键值对items()
6.for循环
7.get:按键key取值,取到返回key所对应的值,取不到返回None,不会报错
8.update:两个参数,主要功能是将另一个字典与该字典进行合并,如果该字典不存在新的键,则更新添加,如果存在则更改该键的值,总结一句话: 有就更新,没有则添加
9.fromkeys:默认把给定列表内的元素取出来当成key,然后使用一个默认value新建一个字典
10.setdefault: 有2个参数,第一个是key,第二个是key的值,如果字典中有该key的话,则key对应的值不变;如果没有,则增加
四:集合类型的内置方法[set]
集合可以理解成一个集合体
1.用途:用于关系运算的集合体,由于集合内的元素无序且集合元素不可重复,因此集合可以去重,但是去重后的集合会打乱原来元素的顺序。
2.定义:{}内用逗号分隔开多个元素,每个元素必须是不可变类型。
3.存一个值or多个值:多个值,且值为不可变类型。
4.有序or无序:无序
5.可变or不可变:可变数据类型
- 常用操作+内置方法
1.长度len
2.成员运算 in /not in
3.|并集union:作用是将两个集合合并成一个集合,并且会重复的多余元素去掉
4.&交集intersection:作用是将两个共同的元素取出来
5.-差集difference:作用是集合A去掉与集合B重复的元素,返回剩下不重复的元素
6.^对称差集 symmetric_difference:作用是取出集合A和集合B没有共同的元素
7.==:判断两个集合是否相同,相同返回True,不同返回False
8.集:>、>= 、issuperset:作用是集合A如果包含集合B则返回True 不包含则返回False
9.子集:<、<= 、issubset:与父集相反
10.add:增加新的元素
11.remove/discard:一个参数,按照元素名称移除,如果这个元素不存在,移除会报错,但是discard移除不存在的元素不会报错
12.difference_update:集合A减去与集合B重复的元素,留下不重复的元素
13.isdisjoint:判断两个集合没有共同的部分返回True,否则返回False
集合:可以将一个列表转换成集合,并且有去重的效果,但是列表顺序无法保证
Day 07 数据类型的内置方法[列表,元组,字典,集合]的更多相关文章
- python 入门基础4 --数据类型及内置方法
今日目录: 零.解压赋值+for循环 一. 可变/不可变和有序/无序 二.基本数据类型及内置方法 1.整型 int 2.浮点型float 3.字符串类型 4.列表类型 三.后期补充内容 零.解压赋值+ ...
- day6 基本数据类型及内置方法
day6 基本数据类型及内置方法 一.10进制转其他进制 1. 十进制转二进制 print(bin(11)) #0b1011 2. 十进制转八进制 print(hex(11)) #0o13 3. 十进 ...
- if循环&数据类型的内置方法(上)
目录 if循环&数据类型的内置方法 for循环 range关键字 for+break for+continue for+else for循环的嵌套使用 数据类型的内置方法 if循环&数 ...
- while + else 使用,while死循环与while的嵌套,for循环基本使用,range关键字,for的循环补充(break、continue、else) ,for循环的嵌套,基本数据类型及内置方法
今日内容 内容概要 while + else 使用 while死循环与while的嵌套 for循环基本使用 range关键字 for的循环补充(break.continue.else) for循环的嵌 ...
- wlile、 for循环和基本数据类型及内置方法
while + else 1.while与else连用 当while没有被关键字break主动结束的情况下 正常结束循环体代码之后执行else的子代码 """ while ...
- while和for循环的补充与数据类型的内置方法(int, float, str)
目录 while与for循环的补充 while + else 死循环 while的嵌套 for补充 range函数 break与continue与else for循环的嵌套 数据类型的内置方法 int ...
- Python基础部分:10、数据类型的内置方法和字符编码
目录 一.数据类型内置方法 1.字典dict内置方法 1.1.类型转换 2.字典必须要掌握的方法 2.1.取值方式 2.2.修改内部数据值 2.3.删除数据 2.4.统计字典中键值对个数 2.5.字典 ...
- Python列表,元组,字典,集合详细操作
菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...
- python_列表——元组——字典——集合
列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...
随机推荐
- 数据结构(3) 第三天 栈的应用:就近匹配/中缀表达式转后缀表达式 、树/二叉树的概念、二叉树的递归与非递归遍历(DLR LDR LRD)、递归求叶子节点数目/二叉树高度/二叉树拷贝和释放
01 上节课回顾 受限的线性表 栈和队列的链式存储其实就是链表 但是不能任意操作 所以叫受限的线性表 02 栈的应用_就近匹配 案例1就近匹配: #include <stdio.h> in ...
- gradle springboot打包时忽略某个配置文件
jar { exclude "**/bootstrap.properties" }
- IOS - 绘制文字 drawInRect: withFont: not working
在图形绘制中,我们经常会需要绘制文本,但我在给PDF上绘制Text时,始终绘制不上, 使用过: [str drawInRect:cubeRect withAttributes:attrs]; CGCo ...
- HDU2516 - 取石子游戏【斐波那契博弈】
基本描述 有一堆个数为n的石子,游戏双方轮流取石子,满足: 先手不能再第一次把所有石子取完: 之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间,包括1和对手取的石子数的2倍. 取最后石子的人 ...
- 【Tool】Mac环境维护
1. 安装编译opencv https://blog.csdn.net/lijiang1991/article/details/50756065 /Users/yuhua.cheng/Opt/open ...
- hibernate在maven中自动生成
1.构建数据库连接 2.新建maven项目,利用工具生成hibernate相应的类和xml文件 新建pojo包 右击项目 点击Configure Facets 选择hibernate 选择包 选择驱动 ...
- jsp三层架构
学了.net了,它的三层架构很好用.现在学jsp,我们一样可以用三层架构来开发.下面详细介绍 1.创建数据库 drop table MyUser create table MyUser ( id ,1 ...
- Jenkins学习总结(6)——了解DevOps的前世今生
DevOps是什么?从哪里来? DevOps的概念 DevOps一词的来自于Development和Operations的组合,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建. ...
- JavaScript(DOM编程一)
在什么位置编写js代码 一般把js代码写在window.onload方法中 执行该方法时页面已经加载完毕,可以获取到所有的dom元素 --------------------------------- ...
- MyBatis中动态SQL元素的使用
掌握MyBatis中动态SQL元素的使用 if choose(when,otherwise) trim where set foreach <SQL>和<include> 在应 ...