(课堂笔记)08.19元祖&字典&集合
分类:
文章
•
2024-05-28 15:09:58
承接上节课知识点
- 1.for循环&range函数
1.1 通过循环语句while依次打印列表中的元素,方法1.如图
- 方法二.for循环
- 语法:for 变量 in 序列
代码块
+注意点:for循环的代码块会执行多次,序列中有几个元素就会执行几次,每执行依次就会将序列中的一个元素赋值给变量,所以我们可以通过变量来获取列表中的元素。
如图所示
- 2、range()函数
- range也是个序列。
- 语法:range(开始位置,结束为止,步长)
开始默认是0开始的,例如:range(6)等价于range(0,6)可以省略0.
结束,不包括结尾的数,例如:range(0,5)等于【0,1,2,3,4】
步长默认为1.可以省略,例如range(5)等价于range(0,5,1)
本节课程
一、元祖
- 1、形如 a = (1,2,3)类型,至少有一个逗号,元素不可修改。当元祖不是空元祖时,()可以省略。另外列表是方括号[],元祖是小括号。
二、拆包
1、元祖拆包,如图所示
- 需要注意的是:在对一个元祖进行拆包是,变量的数量和元祖中的元素的数量要保持一致,当两者不一致时,需要在变量前加*,这样会获取元祖中剩余的元素。已列表形式输出。如图
- 2、列表拆包,如图
- ‘*’的用法如上。
- 3、字符串拆包,如图所示
- 注意点:拆包接收的变量都是一个变量接收一个元素的,只有加了‘*’的变量会接收剩下所有的元素,形成列表。且变量中最多出现一个星星。
三、字典
- 1、key(键)对应一个value(值),俗称键值对,每一个键值对我们又可以称呼为一项(item),即(‘key’:‘value’)
- 注意点:当字典中的key有重复时,后面的key会取代前面的。
- 2、提取字典中的值如图
- 注意点:需要用到中括号,且中括号内容要加‘’。
- 3、双值序列
- 双值序列:序列中有两个值如【1,2】,(‘a’,‘b’)‘ab’
- 子序列:如果序列中的元素也是序列,我们就成这个元素是子序列如【(1,2)】
- 双值子序列:[(‘name’,‘黑寡妇’],(‘age’,30)]
- 4、字典的查。
- 4.1、len()函数获取字典中键值对的个数。
- 4.2、in 和 not in 检查字典中是否包含指定的键
- 4.3、可以用键来获取字典当中的值 语法:dict [key]
- 4.4 s.get(key,default)方法通过key拿到value,如图
- 注意点:如果没有这个key,返回值None,不会报错,也可以指定一个默认值来作为第二个参数,用来输出获取不到key的结果。如图
- 5、字典的改。
- 5.1、修改字典dictionary[key] = valueru 如图
- 5.2、dict.setdefault(key,default)向字典中添加key-value
- 注意点:当字典中已经存在key,不会对字典产生影响,如果这个key不存在,则在字典中添加一个键值对,如图,
- 5.3、dic.updata()将其他字典当中的键值对添加到当前字典中。
如图所示
- 6、字典的删
- 6.1、del删除字典中的键值对如图,
- 注意点,当字典中的key被删除时,后面的value也会一点被删除。
- 6.2、dict.popitem()随机删除一个键值对,一般都是最后一个。如图
- 6.3、dict.pop(key,default),根据key开删除键值对。如图
- 6.4、dict.clert()清空字典。
- 7、浅拷贝和深拷贝。
- 7.1 赋值就相当于引用,所以赋值变量的id是一致的,但是浅拷贝id不一样了。只要是拷贝id就不一样
- 浅拷贝拷贝的外面一层,模块存在嵌套时,只复制了最外面那层。

- 如上图所示,浅拷贝只拷贝了最外面一层,嵌套在内的模块并没有拷贝