本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷贝主要内容:一. 基础数据类型补充首先关于int和str在之前的学习中已经讲了80%以上了. 所以剩下的自己看一看就可以了.我们补充给一个字符串基本操作 li = ["李嘉诚", "麻花藤", "黄海峰", "刘嘉玲"] s = "_".join(li) print(s) li = "黄花大闺女" s = "_&q…
目录 数据类型总结,深浅拷贝 存一个值还是多个值 有序 or 无序 可变 or 不可变 浅拷贝和深拷贝的区别(只针对可变类型) 1.拷贝: 3.深拷贝 总结: 数据类型总结,深浅拷贝 存一个值还是多个值 一个值:整型,浮点型,字符串 多个值:列表,元祖,字典,集合 有序 or 无序 有序:字符串,列表,元祖 无序:字典,集合 可变 or 不可变 可变:列表,字典,集合 不可变:整型,浮点型,字符串 浅拷贝和深拷贝的区别(只针对可变类型) 1.拷贝: lis = [1,2,3,4] lis2 =…
运算符   1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: 三元运算 三元运算(三目运算),是对简单的条件语句的缩写. # 书写格式 result = 值1 if 条件 else 值2 # 如果条件成立,那么将 "值1" 赋值给result变量,否则,将"值2"赋值给result变量 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import copy # ###…
1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_".join(li) print(s) li = "⻩花⼤闺⼥" s = "_".join(li) print(s) 列表: 循环删除列表中的每⼀个元素 li = [11, 22, 33, 44] for e in li: li.remove(e) print(li…
1.补充 1.1  join()字符串拼接. strs = "阿妹哦你是我的丫个哩个啷" nw_strs = "_".join(strs) print(nw_strs) # 阿_妹_哦_你_是_我_的_丫_个_哩_个_啷 lst = ["a","b","c","d"] nw_lst = "*".join(lst) print(nw_lst) # a*b*c*d joi…
一.集合数据类型(set):无序不重复的集合,交集.并集等功能 二.三元运算符 三.深浅拷贝 1)字符串和数字:深浅内存地址都一样 2)其他:浅拷贝:仅复制最外面第一层 深拷贝:除了最内层其他均拷贝 四.函数: 1)创建:def 函数名(参数) 2)返回值 return 返回值,如果不指定return则默认返回None 一旦遇到return后面的代码不再执行 3)参数 形参.实参 普通参数数量要一致并且一一对应 指定参数,执行参数的时候指定形参=实参 指定参数的默认值,默认值一定要放在参数的尾部…
拷贝 我们已经详细了解了变量赋值的过程.对于复杂的数据结构来说,赋值就等于完全共享了资源,一个值的改变会完全被另一个值共享. 然而有的时候,我们偏偏需要将一份数据的原始内容保留一份,再去处理数据,这个时候使用赋值就不够明智了.python为这种需求提供了copy模块.提供了两种主要的copy方法,一种是普通的copy,另一种是deepcopy.我们称前者是浅拷贝,后者为深拷贝. 深浅拷贝一直是所有编程语言的重要知识点,下面我们就从内存的角度来分析一下两者的区别. 浅拷贝 首先,我们来了解一下浅拷…
本篇主要内容:深浅拷贝,自定义函数,三目运算,lambda表达式, 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import copy # ######### 数字.字符串 ######### n1 = 123 # n1 = "i am alex age 10" print(id(n1)) # ## 赋值 ## n2 = n1 print(id(n2)) # ## 浅拷贝 ## n2 = copy.copy(n1…
1.深浅拷贝 在Python中将一个变量的值传递给另外一个变量通常有三种:赋值.浅拷贝.深拷贝 Python数据类型可氛围基本数据类型包括整型.字符串.布尔及None等,还有一种由基本数据类型作为最基本的元素所组成的像列表.元组.字典等. 在Python中基本数据类型的赋值.深浅拷贝没有任何意义,都是指向同一块内存地址,也不存在层次问题. 下面看基本数据类型的深浅拷贝 import copy n1 = 'abc' n2 = n1 n3 = copy.copy(n1) n4 = copy.deep…
一.基本数据类型补充 1,关于int和str在之前的学习中已经介绍了80%以上了,现在再补充一个字符串的基本操作: li = ['李嘉诚','何炅','海峰','刘嘉玲'] s = "_".join(li) print(s) # 结果为:李嘉诚_何炅_海峰_刘嘉玲 li = '黄花大闺女' s = "_".join(li) print(s) # 结果为:黄_花_大_闺_女 2,列表相关: 循环删除列表中的每一个元素,有如下代码,注意结果并分析原因: li = [11…
一.知识点补充 1.1字符串的基本操作 li =["李李嘉诚", "麻花藤", "⻩黄海海峰", "刘嘉玲"] s = "_".join(li) print(s) li = "黄花大闺女" s = "_".join(li) print(s) 1.2列表: 循环删除列表中的每一个元素 li = [, , , ] for e in li: li.remove(e) pri…
三元运算 三元运算,又称三目运算,主要作用是减少代码量,是对简单的条件语句的缩写. 书写格式: result = 值1 if 条件 else 值2 即如果条件成立,则将值1赋给result变量,如果不成立,将值2赋给result变量 eg:name = "tina" if 1==1 else "fei" name = "tina" if 1!=1 else "fei" print(name) 执行结果如下: fei  小练习:…
(一)yield和yield from 转自:理解yield   yield from (1)yield 1.通常的for…in…循环中,in后面是一个数组,这个数组就是一个可迭代对象,类似的还有链表,字符串,文件.它可以是mylist = [1, 2, 3],也可以是mylist = [x*x for x in range(3)]. 它的缺陷是所有数据都在内存中,如果有海量数据的话将会非常耗内存. 2.对比可迭代对象,迭代器其实就只是多了一个函数:__next__(),可以不再使用for循环来…
一.基础数据类型补充 1.join() 把列表中的每一项(必须是字符串)用字符串拼接 与split()相反 lst = ["汪峰", "吴君如", "李嘉欣", "陈慧琳", "关之琳"] # 遍历列表. 把列表中的每一项用"_" 做拼接 s = "_".join(lst) # 把列表转化成字符串 print(s) s1 = "汪峰_吴君如_李嘉欣_陈慧琳_…
深浅拷贝 深浅拷贝的前提: 相等和相同的关系 深浅拷贝针对的是列表等可变的数据类型. 深浅拷贝在普通的列表没有什么意义,只有在嵌套列表,或其他嵌套数据类型才有意义. a = "aaa" a1 = "aaa" b = a print(a == a1) print(id(a),id(a1),id(b)) #都一样 print(a == b) c = [1,2,3] c1 = [1,2,3] d = c print(c == c1) print(id(c),id(c1),…
字符串 join() 格式:   "拼接的东西".join(可迭代对象) 可以加列表转换成字符串 lis = ['a','b','c','d'] s = "//".join(lis) print(s) #结果 a//b//c//d 相反 split()   可以加字符串转换成列表       切割 列表和字典在循环的时候不能直接被删除需要把要删除的内容记录在新的列表中 然后循环新列表,删除字典或列表 例如 lis = ['a','b','c','d','e'] fo…
本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷⻉ " ".join方法 循环删除列表中的内容:   错误的  原因:在for循环中,循环到第一个,然后删除,删除之后第二个元素向前挪一位,循环指针向后移一位,再删除,结果会导致22,44没删除掉. 只有这样才是可以的: 注意: 由于删除元素会导致元素索引发生变化,所以删除元素是,尽量不要在原来的地方删除,尽量创建一个新的 然后去批量删除 dict中的fronkey()可以帮我们通过list  创建一个dict 前⾯列表中…
Python中,赋值与拷贝(深/浅拷贝)之间是有差异的,这主要源于数据在内存中的存放问题,本文将对此加以探讨. 1 赋值(添加名字) 赋值不会改变内存中数据存放状态,比如在内存中存在一个名为data的数据,此时若执行语句data_01 = data,则现在该份数据有了两个名称(data和data_01),其余都不发生改变,使用任何一个名称对数据进行操作,那么用另外一个名称拿数据时,数据会呈现之间发生的改变.示例如下: 图中,给列表分配了两个名称a与b,对a做改变时b会同样改变,对b做改变时a也会…
十二.基础数据类型补充: 1.join 可以把列表变成字符串. s = ‘abc’ s1 = s.join(‘非常可乐’) print(s1)  #非abc常abc可abc乐abc s = "_" s1 = s.join(['alex','wusir','taibai','ritian']) print(s1)   #alex_wusir_taibai_ritian 数据类型的转换:str-àlist:split list -àstr:join 其他类型的转换都是用括号括起来 2. #…
先来道题热热身 a = ('a', 'b','c') c = copy.copy(a) d = copy.deepcopy(a) if c == d: print("c和d的值相等") if id(c) == id(d): print("c和d的地址相等") 想想最后打印的是什么? 什么是深拷贝和浅拷贝 深拷贝,就是在对某个对象进行拷贝的时候,如果这个对象持有其他对象的引用,在拷贝的时候会将要拷贝的对象以及引用的对象,一起拷贝. 而浅拷贝只拷贝当前对象和持有的索引,…
Python当中对于拷贝,分为两种类型.一种是数字和字符串,另一种就是列表.元组.字典等其他类型了. 一.数字和字符串的拷贝 1.赋值 举个栗子: a1 = 123123 a2 = 123123 # a2 = a1 # 赋值 print(id(a1)) # 通过id()函数来打印变量在内存当中的地址 print(id(a2)) 输出结果是: 1959780298352 1959780298352 在以上代码块当中,a2与a1所赋的值是一样的,都是数字123123.因为python有一个重用机制,…
集成开发环境 pycharm 工欲善其事,必先利其器 pycharm是具备一般的python ide的功能,同时呢支持调试,语法高亮,代码管理,智能提示 加快快发的速度,提高开发效率 注释 what ?字面意思就是标注解释 Why ?通常的情况下,我们编写了大量的代码,这些代码我们不只是使用一次,所以如果以后要用到这些代码,我们再看写的代码的时候,如果我们不在家注释,你能看懂代码的意思吗?如果你能看懂,那么如果你的代码,别人要用到,那么同样别也能看懂吗?所以要为代码添加注释方便易读 how ?使…
1.set集合 特点:无序,不重复,元素必须可哈希(不可变) 作用:去重复 本身是可变的数据类型.有增删改查操作.{集合的增删改查操作应用较少,这里不做详细介绍了(这里的增有一个方法update注意这个是迭代添加)} frozenset()冻结的集合.不可变,可哈希. s = {"哈哈哈","嘿嘿嘿","呵呵呵"} s1 = frozenset(s) print(type(s1)) #<class 'frozenset'> 2.深浅c…
python中,A object  = B object  是一种赋值操作,赋的值不是一个对象在内存中的空间,而只是这个对象在内存中的位置 . 此时当B对象里面的内容发生更改的时候,A对象也自然而然的会跟着更改. 1 name = ["root","admin"] 2 cp_name = name # 对cp_name进行赋值操作 3 4 # 对name列表进行插入 5 name.append('root_temp') 6 print(name,cp_name) #…
1. 1.作业 1.把列表中所有姓周的人的信息删掉(升级题:此题有坑, 请慎重): lst = ['周老二', '周星星', '麻花藤', '周扒皮'] 结果: lst = ['麻花藤'] 2.车牌区域划分, 现给出以下车牌. 根据车牌的信息, 分析出各省的车牌持有量. (升级题) cars = ['鲁A32444','鲁B12333','京B8989M','黑C49678','黑C46555','沪 B25041'.....] locals = {'沪':'上海', '黑':'黑龙江', '鲁…
import copy lt = [1, 2, [3, 4]] # 赋值会增加一个引用,访问的都是同一数据 # lt2 = lt # 浅拷贝:只拷贝对象本身,里面的元素只会增加一个引用 lt2 = lt.copy() # 专门的拷贝函数,也是浅拷贝,等价于上面的拷贝 lt2 = copy.copy(lt) # 深拷贝:拷贝对象本身,对象中的元素也进行拷贝 # lt2 = copy.deepcopy(lt) lt[0] = 100 lt[2][0] = 30 print(lt) print(lt2…
1.基本数据类型补充 2.深浅拷贝 DAY7-基本数据类型(基本数据类型补充&深浅拷贝) 本节主要内容: 1.补充基础数据类型 (1)join方法 (2)split方法 (3)列表不能在循环时删除,因为索引会发生改变 (4)字典不能直接删除,要把删除的内容先记录在列表中,循环列表,删除字典中的数据 (5)fromekeys()不会对原来的字典产生影响,面试常考题(巨坑) 2.深浅拷贝部分 (1)=从上到下只有一个列表创建 (2)copy 等价于[:]切割 (3)引入一个模块:import cop…
Python(小数据池,集合,深浅拷贝) 一.小数据池 什么是小数据池 小数据池就是python中一种提高效率的方式,固定数据类型,使用同一个内存地址 小数据池 is和==的区别 == 判断等号俩边的值是否相同 is 判断两个内存地址是否相同 小数据池和代码块的关系 注意 : 先执行代码块后执行小数据池 ​ 小数据池 : 支持str,int,bool ​ 数字范围 : -5~256 ​ 字符串 : 1.在做乘法的时候总长度不能超过20 ​ 2.自定义的字符串,长度不限制,字符串必须(字母,数字,…
一.运算符及优先级 Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 1.算数运算符 运算符 描述 实例,a=20,b=10 + 加 a+b输出结果30 - 减 a-b输出结果10 * 乘 a*b 输出结果200 / 除 a/b输出结果2 % 取模 a/b输出结果0 ** 取幂 a**b输出结果20的10次方 // 取整除 9/2输出结果4,9.0/2.0输出结果4.0 2.比较运算符 运算符 描述 实例 == 等于 (a==b)返回False !+ 不等于 (a!=b)…
算数运算符: Py2中精确除法需要导入:from __future__ import division,(符由特  ,将来的.滴未省,除法) py3不需要导入 赋值运算符: 比较运算符: 成员运算符: 逻辑运算符(布尔运算符): 身份运算符: 内存的读写速度比硬盘要快,3.0里面二进制和字符型必须严格区分 人的痛苦都是对自己无能的愤怒,python一行最多输80个字符 多线程可以并行运算 单线程串行执行 位运算符: 六个标准的数据类型: 一般字符串执行一个功能,生成一个新的内容,原来内容不变,只…