Day 05 字典、集合、序列

一、可变类型和不可变类型

在python中所有的对象都分为可变类型或者不可变类型:
1.对于不可变类型,我们在对其进行运算时,其实时在建立一个新的对象,对象的储存地址会变;
2.可变类型与上述类型相对,当我们对对象进行运算时,对象的地址不变。
3.除了列表和字典,其他的数据类型都是不可变类型。
确定某个变量的类型时,有以下两种方法:
1.用id(x)先打印变量的id地址(x为变量),再对变量进行操作,操作后打印新变量的地址。如果两个地址不同,说明变量为不可变类型。
2.用hash(x)的方法。

二、字典

在学习中文的过程中,我们要是遇到不认识的字,就会去查字典。查字典的过程中,我们先要确定偏旁部首,然后是笔画,最后找到这个字所在位置,才能得到这个字的读音。
在python中也有字典这一类型的集合,它的作用虽然和我们查中文读音的字典不大一样——python的字典是用来储存信息的,但是他们一样都可以有检索的功能。

2. 字典的建立

2.1 字典的形式

格式:{key01:value01, key02:value02, …}
在字典中,需要注意三个点:
1.字典外面的括号一定是花括号!
2.字典中每一个变量值都是有对应的key值的,key值是用于检索的。
3.字典中,通过英文冒号来区分key值和value值。冒号前半部分是key值,后半部分是key对应的value值。

2.2 字典的访问和内置方法

1.字典可以通过dict_name[key]来进行对特定value的索引。
2.字典也是很多自带的内置方法的,它可以帮助我们更好更方便地使用字典。具体地method可以参考python3 字典(dictionary)(一)

3. 集合

在数学中,集合是用于储存一组数字的。这组数字可以是无穷多个,也可以是有限个,它们之间的排列顺序可以是随机的,也可以是按一定顺序排列的,但是唯一的要求就是这组数字中没有重复的数字。在Python中也有集合这个概念,相关的集合设置要求也是相似的。

3.1 集合的建立

1.先通过set()的方式建立一个空的集合
2.通过set_name.add(key)的方式添加元素
最后的打印结果会是{key01, key02, key03,…}
注:建立非空集合一定要通过以上的方式进行,如果直接按“sey_name = {}”的方式建立,那就会得到一个空集,这个的意义是不同的。

3.2 集合的访问和内置方法

1.可以通过len(set_name)的方式获取字典的长度
2.可以通过for循环读取字典中的元素
3.set的内置方法可以帮助我们更有效地工作,详见Python set 常用方法
4.集合可以与元组/序列之间进行转换

4. 序列

4.1

在python中,字符串、列表、元组、集合和字典这些都是序列,而其中,除了字典和集合,其他序列都是可以进行索引访问/切片/相加或相乘操作的。

4.2 序列的一些操作

1.list(sub) 是将对象转换为列表,tuple(sub)/str(sub)也是相似的功能,但是是转换为元组/字符串
2.len(sub)是获取序列的长度
3.max(sub) 是返回序列或者参数集合中的最大值;min(sub)则与前者相反
4.sorted(iterable, key=None, reverse=False) 对所有可迭代的对象(iterable)进行排序操作。False为reverse关键参数的默认值,代表升序;True则代表降序,可根据需要进行选择。
5.reversed(seq) 函数返回一个反转的迭代器
6.enumerate(sequence, [start=0]) 是对对象进行遍历,并添加索引key
7.zip(iter1 [,iter2 […]]) 可以将对象的元素进行打包,并返回由这些元组组成的对象,以减少对象储存的内存大小。

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页