python基础【第八篇】
2024-09-06 05:42:07
day06笔记
1.小数据池
is 与 ==的区别
is :判断两边的内存地址是否相同
==:判断两边的值是否相同
python中的驻留机制:
数字: -5 ~ 256
字符串: 3.6 乘法时总长度不能超过20
python中的代码块:
数字: -5 ~ 正无穷
字符串: 3.6 乘法时总长度不能超过20
2.深浅拷贝
浅拷贝遇见可变数据类型的时候,具有联动效应
深拷贝遇见可变数据类型的时候,不具有联动效应
浅拷贝:只拷贝第一层的内存地址
示例
dic = {1:2,2:[]}
dic1 = dic.copy()
dic[2]=4
print(dic)
print(dic1)
dic = {1:2,2:[]}
dic1 = dic.copy()
dic[2].append(9)
print(dic)
print(dic1)
深拷贝:不管嵌套多少层,不可变数据类型公用,可变数据类型开辟新的内存空间**
示例
import copy
lst = [1,2,3,[6,7,8,9]]
lst2 = copy.deepcopy(lst)
lst[1]=10
lst[-1].append(6)
print(lst)
print(lst2)
赋值 : 多个变量名指定同一个内存地址就是赋值
3.集合
集合相当于一个没有值得字典
集合的特性:天然去重
集合是无序的可变的
集合的基本操作方法:
s = {1,2,3,4}
# 增
s.add(5)
print(s)
s.update(["1","2","3"]) # 迭代更新
print(s)
# 删
s.remove(1)
print(s)
print(s.pop()) #删除第一个值
print(s)
s.clear() # 清空
print(s)
# 改
先删后加
数据转换
# 查
利用for循环
# 其他操作
交集 &
并集 |
差集 -
反交集 ^
超集 >
子集 <
v1 = {'呵呵','123','板哥','王二麻子'}
v2 = {'123','王二麻子'}
print(v1 & v2)
print(v1 | v2)
print(v1 - v2)
print(v2 - v1)
练习题
# 从随机的36个数中,抽选7个不重复的数字
from random import randint
ls = []
while len(ls) < 7:
s = randint(1, 36)
if s not in ls:
ls.append(s)
print(ls)
from random import randint
s = set()
while len(s) < 7:
s.add(randint(1, 36))
print(s)
最新文章
- 超千个节点OpenStack私有云案例(1):CERN 5000+ 计算节点私有云
- c#自定义日志记录
- 《理解 ES6》阅读整理:函数(Functions)(三)Function Constructor &; Spread Operator
- C#Color对象的使用介绍及颜色对照表
- SQLServer2008 绑定默认值
- BI案例:某公司BI系统的九大主题分析
- 解决Android singleTask模式下PendingIntent不能给onNewIntent传值的Bug
- HTML5 INPUT新增属性
- 通过 struct 成员地址 获取 struct 结构体地址
- IDF实验室-python ByteCode writeup
- Citrix 服务器虚拟化之二 Xenserver加域管理
- elasticsearch的rest搜索---mapping
- [补档]Cube
- 痞子衡随笔:常用的数据传输差错检测技术(1)- 奇偶校验(Parity Check)
- 栈的顺序存储 - 设计与实现 - API实现
- HBase 运维分析
- 求导程序编写(oo-java编程)
- 安装mono和monoDevelop开发环境
- CodeForces 纪念一下这个突破性的时刻
- myeclipse2017 安装包及破解插件的下载