从入门到自闭之Python集合,深浅拷贝(大坑)
小数据池
- int: -5~256
- str:
- 字母,数字长度任意符合驻留机制
- 字符串进行乘法时总长度不能超过20
- 特殊符号进行乘法时只能乘以0
代码块:
一个py文件,一个函数,一个模块,终端中的每一行都是代码块
- int:-5~无穷大
- str:
- 定义字符串的时候可以是任意的
- 字符串(字母,数字)进行乘法时总长度不得超过20
- 特殊字符(中文,符号)进行乘法时乘以0或者1
- bool:
- True
- False
is是判断两边的内存地址是否相同
==判断两个值是否相等
代码块、小数据池同在的情况下先执行代码块。
驻留机制:节省内存空间,提升效率(减少了开辟空间和销毁空间的耗时)
集合
集合是python中的数据类型之一
定义方式:set
- 集合就是一个没有值的字典
字典的值:唯一,不可变
集合:无序,可变
集合天然去重
# s = {1,23,4,2,1,2,3,1}
print(s)
输出结果:{1, 2, 3, 4, 23}
# 面试题:
lst = [1,223,1,1,2,31,231,22,12,3,14,12,3] print(list(set(lst)))
输出结果:[1, 2, 223, 3, 231, 12, 14, 22, 31]
s = {} #空字典
s = set() #空集合
增:
s = set() s.add("alex") #直接添加, 输出结果为:{'alex'} s.update("wusir") #迭代添加, 输出结果为:{'r', 'i', 'w', 's', 'u'} set("wusir") #迭代添加, 输出结果为:set()
删
s = {100,0.1,0.5,1,2,23,5,4}
s.remove(4) # 通过元素删除
print(s)
s.clear() # 清空
s.pop() # 随机删除 (最小的)
print(s)
改:
- 先删后加
查:
- for 循环
其他操作:
- 差集--“-”
- 交集--“&”
- 并集--“|”-管道符
- 反交集--“^”
- 子集--“>”返回的是一个布尔值
- 父集(超集)--"<"返回的是一个布尔值
- 冻结集合:frozenset()
深浅拷贝
赋值:将多个变量指向一个同一个内存地址就是赋值
浅拷贝:
只拷贝第一层元素的地址,只有修改第一层的时候元数据不受影响
给可变数据类型进行添加的时候源数据会受影响
= 是修改,.append是添加
可变数据类型能够添加和修改,不可变数据类型只能修改
a = [1,2,3,[4,5]]
b = a[:] # 浅拷贝
print(id(a[-1][0]))
print(id(b[-1][0]))
a.append(9)
print(a)
print(b)
a = [1,2,3,[4,5,6,[9,10]],67]
b = a # 赋值
b = a[:]
a[-2].append(10)#[1, 2, 3, [4, 5, 6, [9, 10], 10], 67]
a[-2][-1].append(10)#[1, 2, 3, [4, 5, 6, [9, 10, 10]], 67]
print(b)
深拷贝:不可变数据类型内存地址共用,可变数据类型新开辟一个空间
# import copy # 导入 copy模块
a = [1,2,3,[4,5],6]
b = copy.deepcopy(a)
print(id(a[-2]))#2812949845896
print(id(b[-2]))#2812949847304
print(a)
print(b)
print(a == b) #True
print(id(a),id(b))
print(a is b) #False
可变数据类型:list(列表),dict(字典),set(集合)
不可变数据类型:int(整型),str(字符串),tuple(元祖),bool(布尔值)
从入门到自闭之Python集合,深浅拷贝(大坑)的更多相关文章
- python学习打卡 day07 set集合,深浅拷贝以及部分知识点补充
本节的主要内容: 基础数据类型补充 set集合 深浅拷贝 主要内容: 一.基础数据类型补充 字符串: li = ["李嘉诚", "麻花藤", "⻩海峰 ...
- 6.Python初窥门径(小数据池,集合,深浅拷贝)
Python(小数据池,集合,深浅拷贝) 一.小数据池 什么是小数据池 小数据池就是python中一种提高效率的方式,固定数据类型,使用同一个内存地址 小数据池 is和==的区别 == 判断等号俩边的 ...
- Python基础知识(六)------小数据池,集合,深浅拷贝
Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : 一个文 ...
- Python原理 -- 深浅拷贝
python原理 -- 深浅拷贝 从数据类型说开去 str, num : 一次性创建, 不能被修改, 修改即是再创建. list,tuple,dict,set : 链表,当前元素记录, 下一个元素的位 ...
- Python的深浅拷贝
Python的深浅拷贝 深浅拷贝 1. 赋值,对于list, set, dict来说, 直接赋值. 其实是把内存地址交给变量并不是复制一份内容 list1 = [']] list2 = list1 p ...
- 从入门到自闭之python初识
Day 01 整型: 对比: 在python 2 版本中有整型,长整型long 在python 3 版本中全部都是整型 用于计算和比较 整型和布尔值的转换 二进制转换成十进制: print (int ...
- day07 python列表 集合 深浅拷贝
day07 python 一.知识点补充 1."".join() s = "".join(('1','2','3','4','5')) #将字符串 ...
- python摸爬滚打之day07----基本数据类型补充, 集合, 深浅拷贝
1.补充 1.1 join()字符串拼接. strs = "阿妹哦你是我的丫个哩个啷" nw_strs = "_".join(strs) print(nw_s ...
- Python学习基础(二)——集合 深浅拷贝 函数
集合 # 集合 ''' 集合是无序不重复的 ''' # 创建列表 l = list((1, 1, 1)) l1 = [1, 1, 1] print(l) print(l1) print("* ...
随机推荐
- 用Python爬虫爬取“女神吧”上的照片。
爬取的网页链接为https://tieba.baidu.com/p/5177270774 是一个美女警花哦! 所用Python环境为:python 3.3.2 用到的库为:urllib.reque ...
- 完全免费,再也不用担心转pdf文件乱来乱去的问题了
完全免费,再也不用担心转pdf文件乱来乱去的问题了. 源代码:https://github.com/xlgwr/WpsToPdf.git 第三方插件Bye Bye... 功能说明 主要引用Wps金山办 ...
- json常用的注解
json注解: 1.@JsonIgnoreProperties: 此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响. 写法将此标签加在model ...
- 【软件工程】Beta冲刺(4/5)
链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 新增数据分析展示等功能API 服务器后端部署,API接口的beta版实现 展示 ...
- Table 'xxx.hibernate_sequence' doesn't exist
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'xxx.hibernate_sequence' ...
- JAVA类定义的修饰
命名类的访问权限public.protected.friendly,private 这四个的权限, 作用域: 当前(父,超)类: 同一Package: 派生(子)类: 其他Package: publi ...
- [MyBatis]再次向MySql一张表插入一千万条数据 批量插入 用时5m24s
本例代码下载:https://files.cnblogs.com/files/xiandedanteng/InsertMillionComparison20191012.rar 环境依然和原来一样. ...
- Go语言fmt.Printf使用指南(占位符总结)
本文整理了Go语言的标准输出流(fmt.Printf)在打印到屏幕时的格式化输出操作. 在这里按照占位符将被替换的变量类型划分,更方便查询和记忆. 总结 1.1 General(通用占位符) 占位符 ...
- leetcode39 组合总和
这道题想到的就是dfs,在累加的和大于或等于target时到达递归树的终点. 代码如下: class Solution { public: vector<vector<int>> ...
- UI布局属性大全
第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:la ...