PythonDay06
第六章
今日内容
小数据池
深浅拷贝
集合
小数据池
== is id
== 判断两个值是否相等
is --- 是 判断两个值的内存地址是否相等
代码块:一个py文件,一个函数,一个模块,终端中每一行都是代码块
代码块中有自己的内存空间:int ,str ,bool
int:-2~正无穷
a = -6
b = -6
print(a is b)
a = 1000
b = 1000
print(id(a), id(b))
print(a is b)
str:
字符串:
定义字符串的时候是任意的
字符串(字符和数字)进行乘法时总长度不超过20
特殊符号(中文,符号)进行乘法的 时候乘以0 或 1
bool:
True,False
小地址池 -- int,str , bool
int:-5~ 256
str:
字母,数字长度任意
字符串进行乘法的时候总长度不能超过20
特殊符号进行乘法的时候只能乘 0
驻留机制:节省内存空间,提升效率(减少了开辟空间和销毁空间的耗时)
深浅拷贝
赋值, =
a = [1,2,3,4]
b = a
print(id(a),id(b))
print(a is b)
# a和b的内存地址一样,任何一个改,其他的改都改
浅拷贝
# 在列表的元素中,元素是列表的情况下,拷贝的是内存地址
# 当内部的元素发生改变时,拷贝的列表和原列表都发生改变
a = [1,2,3,[4,5]]
b = a[:]
# 浅拷贝a[-1].append(6)
print(b)
深拷贝
import copy # 导入 copy模块
a = [1,2,3,[4,5],6]
b = copy.deepcopy(a)
print(id(a[-2]))
print(id(b[-2]))
print(a)
print(b)
print(a == b)
print(id(a),id(b))
print(a is b)
# 不可变数据类型内存地址共用,可变数据类型新开辟一个空间 不管嵌套多深
集合
集合中的元素要求是不可变的并且还是唯一的,我们就利用它是唯一来做去重
集合 -- set
s = {1,2,3,4}
集合就是一个没有值得字典,无序,可变;
天然集合去重
s = {1,1,2,3,4,1,1,1,1}
s = {} # 空字典
s1 = set() # 空集合
print(type(s1))
print(type(s))
集合的增:
s = set()
s.add('one')
s.update('two') #不建议使用
set('12345') #后面跟可迭代对象,只能迭代添加到空集合
集合的删:
s = {100, 200 ,500 , 10 , 0.1, 0.5}
s.remove(500) # 通过元素删除
s.clear() # 清空列表
s.pop() # 随机删除
集合的改
先删除,后添加,没有改的方法
集合的查
for循环
其他操作
s = {1, 24, 25, 48, 98, 56}
s_ = {1, 24, 25}
差集 -
print(s - s1)
print(s1 - s)
交集 &
print(s & s1)
并集 |
print(s | s_)
反交集 ^
print(s ^ s_)
子集 返回一个布尔值
print(s > s_)
父级
print(s_ > s )
冻结集合
print(frozenset({1, 24, 5,4}))
PythonDay06的更多相关文章
- Python--day06(深浅拷贝、元组、字典、集合)
1. 深浅拷贝 1.1 值拷贝 s1直接将ls中存放的地址拿过来s1内部的值发生任何变化,s2都会随之变化 s1 = ['1','2','3','a']s2 = s1print(id(s1),id ...
- 小白学python-day06-
今天是day06,以下是学习内容总结: 但行努力,莫问前程. --------------------------------------------------------------------- ...
- pythonday06数据类型(四)
今日内容 1.集合 2内存相关 1.集合set 无序 无重复 v = {1,2,3,4,5,6,99,100} # 疑问:v = {} """ None int v1 = ...
随机推荐
- postgresql查询栅格数据范围(extent)
栅格数据: SELECT ST_Extent(rast::geometry) as bextent FROM tmean_19; 矢量数据: SELECT ST_Extent(way) as bext ...
- 18.二叉树的镜像(python)
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. class Solution: # 返回镜像树的根节点 def Mirror(self, root): # write code here if ...
- css---一个大div中套左右两个div,如何让最高的把最低的撑开?且把父级撑开呢?
到最后实现了效果,但是在理论上感觉还是很牵强,如果哪位大神有方法,请评论指出哦 Html: css:
- BZOJ 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 水题~
水~ #include <cstdio> #define N 100004 #define mod 5000011 #define setIO(s) freopen(s".in& ...
- clojure的delay future promise
<Clojure编程>第4章笔记. 总的感觉,Clojure毕竟是基于JVM的在人间的工程化语言.不是纯的无状态纯函数的在神间的lisp. 作为后端语言,不可避免要处理计算中和代码执行时序 ...
- Codeforces Round #303 (Div. 2) E. Paths and Trees Dijkstra堆优化+贪心(!!!)
E. Paths and Trees time limit per test 3 seconds memory limit per test 256 megabytes input standard ...
- (51)LINUX应用编程和网络编程之六Linux高级IO
3.6.1.非阻塞IO 3.6.1.1.阻塞与非阻塞 阻塞:阻塞具有很多优势(是linux系统的默认设置),单路IO的时候使用阻塞式IO没有降低CPU的性能 补充:阻塞/非阻塞, 它们是程序在等待消息 ...
- Redis配置文件全解
基本配置 port 6379 # 监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接. daemonize no #是否以后台进程启动 datab ...
- Thymeleaf 2-基础语法
三.基础语法 1.创建HTML 由上文也可以知道需要在html中添加: <html xmlns:th="http://www.thymeleaf.org"> 这样,下文 ...
- session与cookie区别与联系
一.Session的概念 Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标 ...