1.1 深浅 copy

1、 =  赋值操作, lis1=[1,2,3]  list2 = list1  list1.append(4)  则list1,list2都变

赋值都指向同一个地址,改变一个就会改变另外一个

赋值操作 他俩一样的

2、copy 浅拷贝   复制了一份,创建新对象, 拷贝第一层

list1 = [1,2,3]      list2 = list1.copy()        list1和list2不是一个对象

list1 = [1,2,3]      list2=list1[:]            切片产生新对象

3、deepcopy 深拷贝   复制了一份,创建新对象,包括内部所有内容进行拷贝

import copy

list1 = [1,2,[3,4,5]]      list2 = copy.deepcopy(list1)

拷贝比创建对象的过程快

1.2 集合 set

1、可变数据类型,他里面的元素必须是不可变数据类型,无序,不重复

2、可以使用大括号 { } 或者 set() 函数创建集合,

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

3、set可以进行集合运算

print(a - b)     # a和b的差集

print(a | b)     # a和b的并集

print(a & b)     # a和b的交集

print(a ^ b)     # a和b中不同时存在的元素

4、set操作

增:

set1.add(元素)  无序添加到集合

set1.update(seq)       把seq中每个元素无序添加到集合

删:

set1.pop()             随机删除,返回被删除的元素

set1.remove(元素)      删除元素,无该元素报错

set1.clear()             清空字典

del set1                删除字典

查:

for i in set1:print(i)

5、列表转化为集合     自动去除列表中重复元素

set(list)

1.3 小数据池

1、= 赋值  == 比较值是否相等  is 比较内存地址  id(内容)内存地址

变量赋值运算 两个变量指向的是一个地址,改变一个,则都会改变

数字,字符串 小数据池,如果创建数据池之内的范围,则共用一个

数字范围 -5---256

字符串范围:1,不能有特殊字符

int1 = 2   int2 = 2    int1和int2 在内存中使用一个id

int1= 300  int2 = 300  int1和int2 在内存中使用的不是一个id

#剩下的 list dict tuple set  没有这个概念

lis1 = [1,2,3]  lis2=[1,2,3]   lis1和lis2在内存中不是一个id

1.4 bytes

bytes类型 适用存储和网络传输

encode 编码,获取到编码后的结果,bytes

decode 解码,把bytes编程为我们熟悉的字符串

string = b'xxxxxx'.decode() 直接以默认的utf-8编码解码bytes成string

b = string.encode(“utf-8”) 直接以默认的utf-8编码string为bytes

python基础05--深浅copy, set,bytes的更多相关文章

  1. Python基础之深浅copy

    1. 赋值 lst1 = [1, 2, 3, ["a", "b", "c"]] lst2 = lst1 lst1[0] = 11 print ...

  2. python 集合和深浅copy

    #1数据类型的补充#2.集合set#3.深浅copy 补充:str --> bytes s.encode('gbk')bytes --> str s.decode('gbk') 1.数据类 ...

  3. Python基础—set、copy(Day7)

    一.数据类型补充 1.str:.isspace()字符串是空格或至少是一个空格. s='alex' s1=' ' ret=s1.isspace() print(ret)执行结果:True  2.tul ...

  4. python基础(6)-深浅拷贝

    赋值 字符串和数字 # id()函数可以获取变量在内存中的地址标识 num1 = 2; num2 = 2; print(id(num1)) # result:8791124202560 print(i ...

  5. python 基础之深浅拷贝

    深浅拷贝 s=[[1,2],'fgfgf','cx'] s3=s.copy() print(s) print(s3) 测试 D:\python\python.exe D:/untitled/dir/f ...

  6. 0622 python 基础05

    使用双重for循环,打印 0~100 # -*- coding: utf-8 -*- # D:\python\test.py def printOneToHundred():     for i in ...

  7. Python基础:深浅拷贝

    对于数字.字符串深浅拷贝: import copy num = 0 copy_num = copy.copy(num) print("These are normal copy") ...

  8. python基础05 if选择

    摘要:if语句是用来检查一个条件,如果条件为真(true),我们运行一个语句块(称为IF块),否则(else)运行另一个语句块(else块).else语句是可选的 程序1(将文件保存为if.py): ...

  9. python基础05 缩进与选择

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例. ...

随机推荐

  1. 第07节-开源蓝牙协议BTStack框架代码阅读(上)

    首先来看一下,对于硬件操作,它是如何来进行处理的.在上篇文章中曾说过,在main函数里面它会调用硬件相关的代码,调用操作系统相关的代码.在BTStack中,可以搜索一下main.c,将会发现有很多ma ...

  2. Python学习笔记7 头文件的添加规则(转载)

    转载自:https://www.cnblogs.com/taurusfy/p/7605787.html ************************************************ ...

  3. scapy构造数据包

    一.进入scapy交互界面 在终端下输入:scapy ,进入交互界面: 二.查看scapy已经实现的网络协议 ls() 列出scapy中已实现的网络协议 ls(协议类型) 查看某个协议头部字段格式 l ...

  4. el获取对象属性大小写问题

    当el表达式首字母大写,会判断第二个字母大小写,小写,抛异常:大写,则直接拼接get,形成getter方法 当el表达式首字母小写,会判断第二个字母大小写,大写,必须第一个字母大写:否则无法获取值 e ...

  5. element-ui级联选择器(Cascader)获取级联对象 (主要是想获取:label值)

    最近使用element-ui 的Casecader 级联对象时,后台要求将对象的label值也传过去,然而,element-ui 官方并没有提供这样方(keng)便 ( die ) 的方法. 一时间直 ...

  6. Docker入门之安装Docker

    目录 目录 1 1. 前言 1 2. 创建网桥 2 3. 安装Docker 2 3.1. 二进制安装 3 3.1.1. 下载安装 3 3.1.2. 配置服务 3 3.1.3. 启动服务 4 3.2. ...

  7. 两次bfs求树的直径的正确性

    结论:离树上任意点\(u\)最远的点一定是这颗树直径的一个端点. 证明: 若点\(u\)在树的直径上,设它与直径两个端点\(x,y\)的距离分别为\(S1\).\(S2\),若距离其最远的点\(v\) ...

  8. virtualbox安装问题总结

    还是老问题 重点重点: https://blog.csdn.net/Loisleen/article/details/84975165#1install_the_gcc_make_perl_packa ...

  9. requests.session()会话保持

    可能大家对session已经比较熟悉了,也大概了解了session的机制和原理,但是我们在做爬虫时如何会运用到session呢,就是接下来要讲到的会话保持. 首先说一下,为什么要进行会话保持的操作? ...

  10. EXT.net 1.x TreePanel的一个坑

    Ext.net TreePanel有一个方法 drptreepanel.setChecked({ ids: idsarray, silent: true });  如果TreePanel里有1,3两个 ...