python 集合和深浅copy
#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的更多相关文章
- python之数据类型补充、集合、深浅copy
一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址 ...
- python之set集合、深浅copy初识、join()和fromkeys() 的用法
一.set集合 特点: set集合是无序的,所以不存在索引. set集合中的每个元素都是不重复的. set集合中的每个元素都是可哈希的. 有增删改查操作: 1. 增加 add 当添加的内容重复时 ...
- python之集合,深浅copy
一. 集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...
- Python学习之路基础篇--07Python基础+编码、集合 和 深浅Copy
1 小数据池(节省内存) 只有数字和字符串中内存,储存在同一个内存地址中 数字的范围在-5~256中,字符串有以下两个特点:不能含有特殊字符,还有就s*20 不是同一个地址,而要*21就不是了 2 编 ...
- python 的基础 学习 第八天数据类型的补充 ,集合和深浅copy
1,数据类型的补充: 元组()tuple,如果只有元素,并且没有逗号,此元素是什么数据类型,该表达式就是什么数据类型. tu = ('rwr') print(tu,type(tu)) tu = ('r ...
- 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 ...
- python-基础数据类型,集合及深浅copy
一 数据类型定义及分类 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区 ...
- 数据结构中的列表、元组、字典、集合 ,深浅copy
数据结构:数据结构是计算机存储数据和组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.在python中主要的数据类型统称为容器. 而序列(如列表.元组).映射(如字典).集合 ...
- day 07 数据类型,集合,深浅copy
1.day 06 内容回顾 小数据池 int :-5-256 str:特殊字符 ,*20 ascii:8位 1字节 表示一个字符 unicode:32位 4个字节 , 表示一个字符 字节表示8位表示一 ...
随机推荐
- level-8
CSS选择器常见的有几种? !important选择器——它是所有选择器里面权重最高的. *选择器——它是所有选择器里面权重最低的.可以为页面所有的标签添加统一样式,多用于页面整体样式调整,但它会增加 ...
- SOA 面向服务架构 阅读笔记(二)
SOA并不能保证企业的员工更加轻松,企业的收益更加客观. 6.软件组件 6.1 组件和组件的作用 通过可重用的软件代码-组件,可以构建灵活的软件. 6.2 软件组件又称为应用程序,程序,函数,模 ...
- Python字符串格式转换
转换类型 转换类型 说明 d, i 带符号十进制 b 无符号二进制 o 无符号八进制 u 无符号十进制 x 无符号十六进制(小写) X 无符号十六进制(大写) e 科学计数法表示的浮点数(小写) E ...
- 对正交频分复用OFDM系统的理解
OFDM系统 正交频分复用OFDM(Orthogonal Frenquency Division Multiplexing)是一种多载波调制技术. 基本思想:在发送端,它将高速串行数据经过串并变换形成 ...
- L1范数与L2范数正则化
2018-1-26 虽然我们不断追求更好的模型泛化力,但是因为未知数据无法预测,所以又期望模型可以充分利用训练数据,避免欠拟合.这就要求在增加模型复杂度.提高在可观测数据上的性能表现得同时,又需要兼顾 ...
- 输入框去除默认的文字,jquery方法
需求:所有的输入框获取焦点时,去掉默认的提示文字,失去焦点时如果输入框为空,恢复默认的提示文字. 解决方案:jquery方法,以下有三种,按照利弊,我建议最后一种. 先看html代码: <inp ...
- iOS如何获取蓝牙Mac地址
http://macpu.github.io/2015/11/12/iOS%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E8%93%9D%E7%89%99Mac%E5%9C ...
- nginx常见面试题1
Nginx是网页服务器运维人员不可能绕开的一个弯,剩下几个比较高危的面试范围是:linux基础.网络知识基础.python,或许还会有zabbix等监控工具.这里先说nginx,后面几个肯定也会写. ...
- uniqueidentifier in SQL becomes lower case in c#
https://stackoverflow.com/questions/16938151/uniqueidentifier-in-sql-becomes-lower-case-in-c-sharp ...
- EntityFramework 学习 一 Validate Entity
可以为实体实现自定义验证,重写DBContext中的个ValidateEntity方法 protected override System.Data.Entity.Validation.DbEntit ...