join,fromkeys(),深浅拷贝
1. 补充基础数据类型的相关知识点 1. str. join() 把列表变成字符串例
# s= "哈哈"# s1=s.join('-')# print(s1)# s="呵呵呵"# s1=s.join("-")# print(s1)# s= "tx".join('sbb')# print(s)# a="_".join(['ew','ew','wefwef'])# print(a)# b="sb".join(["i二五八覅我",'欧文取景地','欠我的钱'])# print(b)
2. 列表不能再循环的时候删除. 因为索引会跟着改变 3. 字典也不能直接循环删除. 把要删除的内容记录在列表中. 循环列表. 删除原列表, 字典中的数据 4. fromkeys() 不会对原来的字典产生影响. 产生新字典(神坑, 考试)例
# lst = ["我不是药神", "西游记", "西红柿首富", "天龙八部"]## # lst.clear()# # list在循环的时候不能删. 因为会改变索引# del_lst = []# for el in lst:# del_lst.append(el) # 记录下来要删除的内容## for el in del_lst: # 循环记录的内容# lst.remove(el) # 删除原来的内容# print(lst)
# lst = ["周杰伦", "周润发", "周星星", "马化腾", "周树人"]# 删除掉姓周的人的信息# del_lst = []# for el in lst:# if el.startswith("周"):# del_lst.append(el)## for el in del_lst:# lst.remove(el)# print(lst)
# 字典也不能在循环的时候更改大小# dic = {"a":"123", "b":"456"}# for k in dic:# dic.setdefault("c", "123")
# a = dict.fromkeys(["jj", 'jay', 'taibai'], "sb") # 静态方法
# dic = {"a":"123"}# s = dic.fromkeys("王健林", "思聪" ) # 返回给你一个新字典# print(s)
5. set集合. 不重复, 无序. 6. 想转换成什么.就用什么括起来例
# s = set() # 空集合# dic = dict()# s = str()# i = int()# lst = list()# print(i)
# s = {"王者荣耀", "英雄联盟", "王者荣耀", 123, True, True}# print(s)# s = {123, {1,2,3}} # 不合法# print(s)
# lst = ["张强", "李强", "王磊", "刘伟", "张伟", "张伟", "刘洋", "刘洋"]# s = set(lst) # 去重复# print(s)## # 变回来# lst = list(s)# print(lst)
# 冻结了的set集合. 可哈希的. 不可变# s = frozenset([1, 3, 6, 6, 9, 8]) # 可以去重复. 也是set集合# print(s)## ss = {"a", s}# print(ss)
7. 深浅拷贝 1. 直接赋值. 两个变量指向同一个对象. 2. 浅拷贝:只拷贝第一层内容. copy() 3. 深度拷贝: 对象中的所有内容都会被拷贝一份 import copy copy.deepcopy()例
# lst1 = ["金毛狮王", "紫衫龙王", "白眉鹰王", "青衣服往"]# lst2 = lst1 # 列表, 进行赋值操作. 实际上是引用内存地址的赋值. 内存中此时只有一个列表. 两个变量指向一个列表## lst2.append("杨做事") # 对期中的一个进行操作. 两个都跟着变# print(lst2)# print(lst1)
# 浅拷贝 copy 创建新对象# lst1 = ["赵本山", "刘能", "赵四"]# # lst2 = lst1.copy() # lst2 和lst1 不是一个对象了# lst2 = lst1[:] # 切片会产生新的对象# lst1.append("谢大脚")# print(lst1, lst2)# # print(id(lst1), id(lst2))
# lst1 = ["超人", "七龙珠", "葫芦娃", "山中小猎人", ["金城武", "王力宏", "渣渣辉"]]# lst2 = lst1.copy() # 拷贝. 浅拷贝 拷贝第一层## lst1[4].append("大阳哥")## print(lst1, lst2)# 深拷贝
import copylst1 = ["超人", "七龙珠", "葫芦娃", "山中小猎人", ["金城武", "王力宏", "渣渣辉"]]lst2 = copy.deepcopy(lst1) # 把lst1扔进去进行深度拷贝 , 包括内部的所有内容进行拷贝lst1[4].append("大阳哥")print(lst1, lst2)
# 为什么要有深浅拷贝# 拷贝比创建对象的过程要快
join,fromkeys(),深浅拷贝的更多相关文章
- python之路---07 join() fromkeys() 深浅拷贝
二十四.基本数据类型补充 1.join() "*".join("马虎疼") # 马*虎*疼 把传递进去的参数进行迭代. 获取到的每个元素和前面的*进行拼接. ...
- python --- 07 补充( join 删除和添加 fromkeys ) 深浅拷贝
一.基本数据类型补充 1.join() "*".join("马虎疼") # 马*虎*疼 把传递进去的参数进行迭代. 获取到的每个元素和前面的*进行拼接. 得到 ...
- 1、str.join() 2、fromkeys() 3、深浅拷贝 4、set()
1. 补充基础数据类型的相关知识点 1. str. join() 把列表变成字符串 2. 列表不能再循环的时候删除. 因为索引会跟着改变 3. 字典也不能直接循环删除. 把要删除的内容记录在列表中. ...
- str中的join方法,fromkeys(),set集合,深浅拷贝(重点)
一丶对之前的知识点进行补充 1.str中的join方法.把列表转换成字符串 # 将列表转换成字符串,每个元素之间用_拼接 s = "_".join(["天",& ...
- python随笔 join 字典,列表的清空 set集合 以及深浅拷贝(重点..难点)
一,字符串和列表的转换 1.str中的 join 方法: 把列表转换成字符串 # 将列表转换成字符串. 每个元素之间用_连接 s = '**'.join(['李启政',' 郑强' , '孙福来']) ...
- python的深浅拷贝以及fromkeys的用法
1.join()的用法:使用前面的字符串.对后面的列表进行拼接,拼接结果是一个字符串 # lst = ["alex","dsb",'wusir','xsb'] ...
- str中的join方法; set集合;深浅拷贝
一.str中的join方法 1,用join可以吧列表转换为字符串 将列表转换成字符串. 每个元素之间用_拼接 s = "_". join(['德玛', ''赵信'', '易']) ...
- python 补充:join() , 基本数据类型的增删改查以及深浅拷贝
# join() join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. li = ["李李嘉诚", "麻花藤", "黄海海峰&q ...
- join,列表和字典用for循环的删除,集合,深浅拷贝
1.join() 将列表转换成字符串,并且每个字符之间用另一个字符连接起来,join后面必须是可迭代的对象(字符串,列表,元组,字典,集合),数字不能迭代 例如: s = ['a','b','c'] ...
随机推荐
- bzoj 2806 [Ctsc2012]Cheat——广义后缀自动机+单调队列优化DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2806 只想着怎么用后缀数据结构做,其实应该考虑结合其他算法. 可以二分那个长度 L .设当前 ...
- 深入理解ASP.NET MVC(5)
系列目录 回顾 系列的前4节深入剖析了ASP.NET URL路由机制,以及MVC在此基础上是如何实现Areas机制的,同时涉及到inbound和outbound很多细节部分.第2节中提到MvcRout ...
- 基于OLSR的路由协议实现Ad-Hoc组网
一.软件包的安装 1. olsrd软件包的安装 libpthread_0.9.33.2-1_ar71xx.ipk olsrd_0.6.6.2-4_ar71xx.ipk 2. luci的安装 olsrd ...
- javaweb下载中的一个问题
如果你发现,response头以及contentType都已经设置没错,但出现浏览器将下载的文件内容显示到新窗口 那么解决方案就是在请求的时候不要产生新的窗口
- Video Test Pattern Generator(7.0)软件调试记录
Video Test Pattern Generator(7.0)软件调试记录 . XVidC_VideoMode XVIDC_VM_576_50_I = XVIDC_VM_720x576_50_I ...
- TStrings与Memo.Lines赋值的问题
//想实现在函数中生成Memo1的内容,而后赋给Memo.Lines //方法1: var s: TStrings; begin s := TStringList.Create; AddMemoDat ...
- C#、AE开发入门之打开shp文件并显示
首先要建立好对应的对话框程序,并拖入axMapControl控件和axLisence控件,并设置一个按钮打开该文件 当然在使用前一定要绑定对应的ArcGis产品 static void Main() ...
- vue中使用elementUI
引入Element 因为整个项目是依赖ElementUI框架做的,所以采用了全部引入 1,在项目根目录执行命令:npm i element-ui -S进行安装 2,在main.js中引入element ...
- MyBatis 的缓存机制
缓存机制可以减轻数据库的压力,原理是在第一查询时,将查询结果缓存起来,之后再查询同样的sql, 不是真的去查询数据库,而是直接返回缓存中的结果. 缓存可以降低数据库的压力,但同时可能无法得到最新的结果 ...
- JSON 语法
ylbtech-JSON: JSON 语法 JSON 语法是 JavaScript 语法的子集. 1. JSON 语法规则返回顶部 JSON 语法是 JavaScript 对象表示语法的子集. 1. ...