第六章

今日内容

  • 小数据池

  • 深浅拷贝

  • 集合

小数据池

  • == 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的更多相关文章

  1. Python--day06(深浅拷贝、元组、字典、集合)

    1.  深浅拷贝 1.1  值拷贝 s1直接将ls中存放的地址拿过来s1内部的值发生任何变化,s2都会随之变化 s1 = ['1','2','3','a']s2 = s1print(id(s1),id ...

  2. 小白学python-day06-

    今天是day06,以下是学习内容总结: 但行努力,莫问前程. --------------------------------------------------------------------- ...

  3. pythonday06数据类型(四)

    今日内容 1.集合 2内存相关 1.集合set 无序 无重复 v = {1,2,3,4,5,6,99,100} # 疑问:v = {} """ None int v1 = ...

随机推荐

  1. 4.瀑布流js

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. linux-dns-11

    1网卡设置配置文件里面DNS服务器地址设置,2.系统默认DNS服务器地址设置.3,hosts文件指定 生效顺序是: 1 hosts文件 ---- 2 网卡配置文件DNS服务地址 ---3 /etc/r ...

  3. 获取当前国家与ip地址

    JS获取当前国家示例: <script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"& ...

  4. 模板_SPLAY

    #include<bits/stdc++.h> #define maxn 500005 //#define int long long using namespace std; inlin ...

  5. Codeforces 1203F1 Complete the Projects (easy version)

    cf题面 Time limit 2000 ms Memory limit 262144 kB 解题思路 看见这题觉得贪心可做,那就贪吧.(昨天真是贪心的一天,凌晨才被这两道贪心题虐,下午多校又来,感觉 ...

  6. Hive函数介绍

    一些函数不太会,查了些资料,分享一下 Hive已定义函数介绍: 1.字符串长度函数:length 语法: length(string A)返回值: int举例:[sql] view plain cop ...

  7. java hashset输出

    for (Map.Entry<String, String> me : id_label_map.entrySet()) { System.out.println(me.getKey() ...

  8. Git:目录

    ylbtech-Git:目录 1.返回顶部 1. https://git-scm.com/ 2. 2.返回顶部 1.Easy Git Integration Tools https://marketp ...

  9. jpa多表leftjoin 查询,自定义返回结果

    sql代码 自定义返回结果 package com.cdp.ecosaas.coredb.uua.sync.vo; import java.io.Serializable; public class ...

  10. C#通用类库

    http://www.cnblogs.com/feiyangqingyun/archive/2010/12/20/1911630.html