#1数据类型的补充
#2.集合set
#3.深浅copy 补充:
str --> bytes s.encode('gbk')
bytes --> str s.decode('gbk') 1.数据类型的补充.
str :
isspace 判断是不是空格.
list:
  再循环一个列表时候,进行删除的动作时候,容易出错.一旦删除索引将会改变,所以才会报错
1,反向删除
2.增加替换
3.增加删除,两个for循环
4.步长删除.
li = ['老男孩', 'python', 'alex', 'wusir', 'egon', 'ritian', '女神']
dict:
由于索引和无序的原因,对字典进行循环增删的时候会报错,单独建立一个列表,将要删除的元素单独列到列表中,再进行字典删除,才能避免报错。 元祖:
str --> 元祖 强行转化
元祖 --> str ''.join(tuple) #所有可迭代的对象都能够转化为str,利用join 2.集合(set)
set = {11,22,33,44,55}
主要两个大功能:
1,由于集合自动去重复的功能,转化为set后能够直接去掉重复的内容
2.集合交集并集差集超集子集
1 set = {2,4,6,8,9,1,3,9,7}
2 set2 = {11,12,13,15,16,17}
3
4 print(set & set2)#交集
5 print(set ^ set2)#反交集
6 print(set | set2)#并集
7 print(set - set2)#差集
8 print(set.issubset(set2))#子集
9 print(set.issuperset(set2))#超集

#增:

        #add添加元素,
set = {2,4,6,8,9,1,3,9,7}
set2 = {11,12,13,15,16,17} set.add('w')
print(set)
#{1, 2, 3, 4, 6, 7, 8, 9, 'w'}
        #update 迭代添加\
set = {2,4,6,8,9,1,3,9,7}
set.update('wsb')
print(set)
#{1, 2, 3, 4, 6, 7, 8, 9, 's', 'b', 'w'}

        #删:
#pop() 无需随机删除(不确定)
set = {2,4,6,8,9,1,3,9,7}
set.pop()
print(set)
#{2, 3, 4, 6, 7, 8, 9}
        #clear()清空如同列表和字典

        #del ()整个删除

        #remove() 元素删除
 set = {2,4,6,8,9,1,3,9,7}

 set.remove(2)

 print(set)

 #{1, 3, 4, 6, 7, 8, 9}

     #无法修改

#查

        #for 循环查看

3.深浅copy
赋值运算:
 l1 = [1,2,3]

 l2 = l1

 l2.append(111)

 print(l1,l2)
结果相同

浅copy:

 l1 = [1,2,[1,2,3],3]

 l2 = l1[:]/l1.copy

 l2[2].append(111)

 l2.append(111)

 print(l1,l2)
        此时是浅copy   不是赋值运算.

            深copy:
 import copy

 l1 = [1,2,[1,2,3],3]

 l2 = copy.deepcopy(l1)

 l2[2].append(111)

 print(l1,l2)
        赋值运算是完全公用内存地址
浅copy是在第一层不会公用地址,而在多层的情况下除开第一层,其它层都会公用一个内存地址
深copy则是完全独立的一个新的储存位置,不会公用地址.

python 集合和深浅copy的更多相关文章

  1. python之数据类型补充、集合、深浅copy

    一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址 ...

  2. python之set集合、深浅copy初识、join()和fromkeys() 的用法

    一.set集合 特点: set集合是无序的,所以不存在索引. set集合中的每个元素都是不重复的. set集合中的每个元素都是可哈希的. 有增删改查操作: 1. 增加 add    当添加的内容重复时 ...

  3. python之集合,深浅copy

    一. 集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...

  4. Python学习之路基础篇--07Python基础+编码、集合 和 深浅Copy

    1 小数据池(节省内存) 只有数字和字符串中内存,储存在同一个内存地址中 数字的范围在-5~256中,字符串有以下两个特点:不能含有特殊字符,还有就s*20 不是同一个地址,而要*21就不是了 2 编 ...

  5. python 的基础 学习 第八天数据类型的补充 ,集合和深浅copy

    1,数据类型的补充: 元组()tuple,如果只有元素,并且没有逗号,此元素是什么数据类型,该表达式就是什么数据类型. tu = ('rwr') print(tu,type(tu)) tu = ('r ...

  6. 07、python的基础-->数据类型、集合、深浅copy

    一.数据类型 1.列表 lis = [11, 22, 33, 44, 55] for i in range(len(lis)): print(i) # i = 0 i = 1 i = 2 del li ...

  7. python-基础数据类型,集合及深浅copy

    一 数据类型定义及分类 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区 ...

  8. 数据结构中的列表、元组、字典、集合 ,深浅copy

    数据结构:数据结构是计算机存储数据和组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.在python中主要的数据类型统称为容器. 而序列(如列表.元组).映射(如字典).集合 ...

  9. day 07 数据类型,集合,深浅copy

    1.day 06 内容回顾 小数据池 int :-5-256 str:特殊字符 ,*20 ascii:8位 1字节 表示一个字符 unicode:32位 4个字节 , 表示一个字符 字节表示8位表示一 ...

随机推荐

  1. INSPIRED启示录 读书笔记 - 第24章 平滑部署

    避免更新产品导致用户反感 毫无征兆地更新不必要的版本会令用户产生反感.不是所有用户都喜欢新版本的产品.用户产生反感主要有几个原因 1.事前没有收到更新通知,用户觉得措手不及 2.用户没时间学习.适应新 ...

  2. 九度oj-题目1103:二次方程计算器

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2799 解决:633 题目描述: 设计一个二次方程计算器 输入: 每个案例是关于x的一个二次方程表达式,为了简单,每个系数都是整数形式. 输 ...

  3. RHCE学习笔记 管理1 (第一、二章)

    第一章 命令行访问 1.Ctrl+alt+F2~F6 切到虚拟控制台,ctrl+alt+F1 回到图形界面 2.格式 : 命令 选项 参数 [] 为可选项目            ...表示该项目任意 ...

  4. JSP--常用指令

    1.JSP中的page指令: jsp中指令格式:<%@   指令名字    key=value    key=value   ......%> <%@ page language=& ...

  5. 【BZOJ2733】永无乡[HNOI2012](splay启发式合并or线段树合并)

    题目大意:给你一些点,修改是在在两个点之间连一条无向边,查询时求某个点能走到的点中重要度第k大的点.题目中给定的是每个节点的排名,所以实际上是求第k小:题目求的是编号,不是重要度的排名.我一开始差点被 ...

  6. 解决可以Ping通ip地址,但Ping不通域名的思路

    在正常的网络故障处理中,ping命令是大家经常用到的,出现ping通ip地址,但ping域名是出现超时情况,一般是由于TCP/IP协议中的“DNS设置”不正确,请检查其中的配置,或者更换其他可用的DN ...

  7. session共享个人小结

    一.需求问题: 如果你的网站是存放在一个机器上,那么是不存在这个问题的,因为会话数据就在这台机器,但是如果你使用了负载均衡把请求分发到不同的机器呢? 这个时候会话id在客户端是没有问题的, 但是如果用 ...

  8. Java -- JDBC 事务处理, 事务的隔离级别 脏读 不可重复读 等...

    1. 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 数据库开启事务命令 •start transaction 开启事务 •Rollback  回滚事务 •Commit ...

  9. jmeter ant 运行 提示Error occurred during initialization of VM

    运行ant提示错误 网上找到的方法 将set HEAP= -Xms512m -Xmx1024m 改成set HEAP= -Xms512m -Xmx512m 保存后运行成功

  10. struts2学习(4)

    Struts2拦截器概述 1 Struts2是框架,封装了很多功能,struts2里面封装的概念都是在拦截器里面 2 Struts2里面封装了很多的概念,有很多拦截器,不是每次这些拦截器都执行,每次执 ...