Day5 集合的深浅copy】的更多相关文章

集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. 1,集合的创建. set1 = set({1,2,'barry'}) set2 = {1,2,'barry'} print(set1,set2) # {1, 2, 'barry'} {1, 2, 'barry'} 2,集合的增. set1 = {'alex…
一. 集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. 1. 集合的创建 set1 = set({1,2,'barry'}) set2 = {1,2,'barry'} print(set1,set2) # {1, 2, 'barry'} {1, 2, 'barry'} 2. 集合的增 set1 =…
一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址. 小数据池: 前提:int,str,bool 1,节省内存. 2,提高性能和效率. 小数据池是什么? 在内存中,创建一个'池',提前存放了 -5 ~256 的整数,一定规则的字符串和bool值. 后续程序中,如果设置的变量指向的是小数据池的内容,那么就不会再内存中重新创建. 小数据池与代码块的关系…
1.day 06 内容回顾 小数据池 int :-5-256 str:特殊字符 ,*20 ascii:8位 1字节 表示一个字符 unicode:32位 4个字节 , 表示一个字符 字节表示8位表示一个字节,字符表示组成的最小元素 utf-8 1个英文字母 8位 1个字节 欧洲 16位 两个字节 表示一个字符 亚洲 24位 三个字节 表示一个字符 gbk 1个英文字母 8位,1个字节 亚洲 16 位 两个字节表示一个字符 s = 'alex' b = s.encode('utf-8') prin…
1 小数据池(节省内存) 只有数字和字符串中内存,储存在同一个内存地址中 数字的范围在-5~256中,字符串有以下两个特点:不能含有特殊字符,还有就s*20 不是同一个地址,而要*21就不是了 2 编码 ASCii 中   英文用 8 位 ,一个字节 unicode 中   英文用 32 位 ,四个字节 中文用 32 位 ,四个字节 utf-8 中   英文用 8 位 ,一个字节 中文用 24 位 ,三个字节 gbk 中   英文用 8 位 ,一个字节 中文用 16 位 ,二个字节 特点: 各个…
1,数据类型的补充: 元组()tuple,如果只有元素,并且没有逗号,此元素是什么数据类型,该表达式就是什么数据类型. tu = ('rwr') print(tu,type(tu)) tu = ('rwr',)#('rwr',) <class 'tuple'> print(tu,type(tu)) list列表,在循环一个列表时,最好不要进行删除动作,一旦删除,索引就会随之改变,容易出错. li = ['老男孩','alex','拉黑米','老男孩','老男孩','天上人间'] #删除索引为奇…
一 数据类型定义及分类 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有数据类型,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字,你想让他处理文字,就传字符串类型.以下为查看数据类型的方法. >>> a= 2**64>>> type(a) #type()是查看数据类型的方法&…
一.基础数据类型的坑: 元组: 如果一个元组中,只有一个元素,且没有逗号,则该"元组"与里面的数据的类型相同. # 只有一个数据,且没有逗号的情况: print(tu1,type(tu1)) # 156 <class 'int'> tu2 = ("expected") print(tu2,type(tu2)) # expected <class 'str'> 那么,在只有一个元素的情况下,如何让元组成其为元组呢?方法就是,在数据的后面,加一个…
数据结构:数据结构是计算机存储数据和组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.在python中主要的数据类型统称为容器. 而序列(如列表.元组).映射(如字典).集合(set)就是python中最主要的容器. 序列:成员有序的排列,并且可以通过下标和偏移量访问到他的一个或几个成员的类型统称为序列.他是最基本的数据类型.Python中内建的序列有6种:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.下面重点介绍列表和元组. 列表 列表…
集合set: 集合也和列表数组一样有增加,但是集合是真正的没有顺序的  所以集合无法查找的,并且集合的外观你看着好像是字典和列表的组合,因为它是用字典的括号一样 ,但是又是里面并没有键值对  只是一个一个的元素来存储 set内的元素必须是不可以变的 frozenset    把一个动态集合变成静态集合 就是把一个可变的集合变成不可变的 s = {, , , , } s.add() frozenset(s) #直接把上面可变的集合转化为不可变的 用frozenset转化后的 集合不可以对他进行增删…
'' 集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复. {} ''' # set1 = set({1,2,3}) # set2 = {1,2,3,[2,3],{'name':'alex'}} # 错的 集合和字典是可变数据类型 # print(set1) # print(set2) # set1 = {'alex','wusir','ritian','egon','barry',} #增 #add # set1.add('女神') # print(set1) #updat…
#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',…
一.set集合 特点: set集合是无序的,所以不存在索引. set集合中的每个元素都是不重复的. set集合中的每个元素都是可哈希的. 有增删改查操作: 1. 增加 add    当添加的内容重复时,不会添加 update   迭代添加 2.删除 pop  随机删除 remove  直接删除元素   当需要删除的元素不存在时会报错 3.修改 因为set集合本身是无序的,所以不存在索引也无法直接修改,当有元素需要修改时则需先将元素删除 再将元素从新添加到set集合中 4.查询 利用set集合是一…
集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. #关于集合和波尔值之间的苟苟且且# set ={1,2,3,4,5,True,(1,2,3),} #集合具有自动去重和去空格功能# set.add(False)# set.add(True) #打印结果显示,没有Teue,应该是集合内部的数字和元组不…
一.集合 集合是无序的,不重复的数据集合,其元素为可哈希(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键).以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. 1.集合的创建 set1 = set({1,2,'barry'}) set2 = {1,2,'barry'} print(set1,set2) # {1, 2, 'barry'} {1, 2, 'barry'} 2.集合的增 set1 = {'alex',…
一.数据类型 1.列表 lis = [11, 22, 33, 44, 55] for i in range(len(lis)): print(i) # i = 0 i = 1 i = 2 del lis[i] print(lis) # [11,22,33,44,55] [22, 44, 55] [22, 44] 循环按照列表的索引0.1.2...循环删除,最后3 的时候元素不够报错 --->赋值 l1 = [] l2 = l1 l3 = l1 l3.append('a') print(l1,l2…
本次内容: 元祖 字典 浅copy和深copy 集合 文件处理 1.1元祖 元祖(tuple)与列表类似,不同之处在于元祖的元素不能修改,元祖使用小括号(),列表使用方括号[].元祖创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 创建元祖 name = ('xiaojian','yangjian','while','yj') name1 = ('xiaojian',) #元祖只有一个元素时,需要加逗号(,) kong = () #创建一个空元祖 元祖与列表类似,下标索引从0开始,可以进…
 一.collections系列: collections其实是python的标准库,也就是python的一个内置模块,因此使用之前导入一下collections模块即可,collections在python原有的数据类型str(字符串), int(数值), list(列表) tuple(元组), dict(字典)的基础之上增加一些其他的数据类型即方法,具体如下: 1.Counter(dict):计数器,扩展的字典的方法,对指定数据的字串做统计出现的次数,结果是一个元组,如: import co…
一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. 1,集合的创建. set1 = set({1,2,'barry'}) set2 = {1,2,'barry'} print(set1,set2) # {1, 2, 'barry'} {1, 2, 'barry'} 2,集合的增. set1 =…
一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. 1,集合的创建. set1 = set({1,2,'barry'}) set2 = {1,2,'barry'} print(set1,set2) # {1, 2, 'barry'} {1, 2, 'barry'} 2,集合的增. set1 =…
一.基础数据类型汇总补充 list  在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错(可以从后向前循环删除,这样不会改变未删元素的索引). 错误示范: lis = [,,,,] for i in range(len(lis)): print(i) # i = i = i = del lis[i] print(lis) # [,,,,] [, , ] [, ] lis = [11,22,33,44,55] 取一个新的列表 lis = [11,33,55] #第一种 li…
本节内容: 1,深浅copy 2,数据结构 3,函数 4,变量作用域 5,返回值,return 一.深浅copy 首先理解当给变量赋值的时候,是给变量存在值所在的内存地址 a = 10000 b = 10000 a_id = id(a) b_id = id(b) print(a_id, b_id) # 当是数值,不是列表等变化的数据类型时,a=b的存储地址是相同 浅拷贝 import copy husband = ["xiaohu", [13000, 5000]] wife = hus…
1.数据类型的补充 1.1 元组 当元组里面只有一个元素且没有逗号时,则该数据的数据类型与括号里面的元素相同. tu1 = ('laonanhai') tu2 = ('laonanhai') print(tu1, type(tu1)) print(tu2, type(tu2),) tu1 = (1) tu2 = (1,) print(tu1, type(tu1)) print(tu2, type(tu2)) tu1 = ([1, 2, 3]) tu2 = ([1, 2, 3],) print(t…
集合: 特点:集合是可变的数据类型,但他里面的元素必须是不可变的数据类型,无序,不可重复. 创建: set1 = set({1,2,3}) 或者直接创建set2 = {1,2,3} 集合的增删查: 增: add set1.add('女生') update set1.update('abc') #迭代,类似于列表的extend 删: pop set1.pop() #随机删除,有返回值返回的是删除的元素 remove set1.remove('2') #按元素删除 clear set1.clear(…
一.元组转换 数字 tu = (1) tu1 = (1,) print(tu,type(tu)) print(tu1,type(tu1)) 执行输出: 1 <class 'int'>(1,) <class 'tuple'>  字符串 tu = ('lao') tu1 = ('lao',) print(tu,type(tu)) print(tu1,type(tu1)) 执行输出: lao <class 'str'>('lao',) <class 'tuple'>…
一.基础数据类型的扩展 1.1GBK ---> UTF - 8 # str --->bytes s1 = '太白' # 字符串是unicode编码 b1 = s1.encode('gbk') # 翻译成gbk编码的形式 print(b1) # b'\xcc\xab\xb0\xd7' 两位 s2 = b1.decode('gbk') # 解码成字符串 print(s2) b2 = s2.encode('utf-8') # 翻译成UTF- 8编码的形式 print(b2) # b'\xe5\xa4…
一.collections系列: collections其实是python的标准库,也就是python的一个内置模块,因此使用之前导入一下collections模块即可,collections在python原有的数据类型str(字符串), int(数值), list(列表) tuple(元组), dict(字典)的基础之上增加一些其他的数据类型即方法,具体如下: 1.Counter(dict):计数器,扩展的字典的方法,对指定数据的字串做统计出现的次数,结果是一个元组,如: 1 import c…
1.[List补充] 在循环一个列表时,最好不要使用元素和索引进行删除操作,一旦删除,索引会随之改变,容易出错. 如果想不出错,可以采用倒着删除的方法,因为倒着删除进行的话,只是后面元素的位置发生了变化(位移),但不影响前面元素的排列位置. 元组在只有一个元素时,需要加个逗号来防止岐义. 将列表中索引为奇数的元素进行删除,有三种方法(思路): 第一种是最简单的del加切片: 例: li = ['老男孩', 'python', 'alex', 'wusir', 'egon', 'ritian',…
首先回顾: 小数据池:int -5~256str 特殊字符,*数字20 ascii : 8位 1字节 表示1个字符unicode 32位 4个字节 表示一个字符utf- 8 1个英文 8位,1个字节 欧洲 16位 两个字节 表示一个字符 亚洲 24位 三个字节 表示一个字符 gbk 1个英文 8位,1个字节 亚洲 16位 两个字节 表示一个字符 s = 'alex'b = s.encode('utf-8')print(b) # b'alex' 1,基础数据类型汇总补充 lis = [11,22,…
深浅copy 1.数字.字符串的copy: 赋值(=).浅拷贝(copy)和深拷贝(deepcopy)其实都一样,因为它们永远指向同一个内存地址: >>> import copy >>> n1 = 123 >>> print(id(n1)) #打印n1的内存地址 502665488 ##赋值## >>> n2 = n1 >>> print(id(n2)) 502665488 ##浅拷贝## >>>…