join,列表和字典用for循环的删除,集合,深浅拷贝
1.join()
将列表转换成字符串,并且每个字符之间用另一个字符连接起来,join后面必须是可迭代的对象(字符串,列表,元组,字典,集合),数字不能迭代
例如:
s = ['a','b','c']
s1 = '_'.join(s)
print(s1)
结果为:a_b_c
2.字符串转换成列表:split()
列表转换成字符串:join()
3.列表的删除(pop,remove,del,clear)
如果用for循环删除,第二个元素的索引就变成了第一个元素的索引,此时列表内部的索引在改变
例如:
lst = ['a','b','c','d']
for i in lst:
lst.remove(i)
print(lst)
结果为:['b','d']
此时需要创建一个新的列表来记录原列表,然后for循环依次遍历新列表,删除原列表
例如:
lst = ['a','b','c','d']
lst1 = [] #存放要删除的元素
for i in lst: #循环新列表
lst1.append(i) #将原列表的元素添加到新列表中
for i in lst1: #循环新列表
lst.remove(i) #删除原列表中的元素
print(lst)
print(lst1)
此时结果为:[]
['a','b','c','d']
4.字典的删除:
和列表一样,都是先创建一个新的字典,然后循环原字典,将每个元素添加到新字典中,循环新字典,删除原字典
例如:
dic = {'a':1,'b':2,'c':3,'d':4}
dic1 = {}
for i in dic:
dic1.setdefault(i)
for j in dic1:
dic.pop(j) #字典只能通过key来删除,而不能用索引删除
print(dic)
结果为:{}
所以,列表和字典在循环的时候不能删除,字典在循环的时候不能改变大小
fromkeys():用来创建一个新的字典,和原来的字典没关系,使用dict访问fromkeys()
dic = dict.fromkeys('def',[4,5,6])
print(dic)
结果为:{'d':[4,5,6]'e':[4,5,6],'f':[4,5,6]}
5.set集合:
创建: s = set()
集合本身是可变的数据类型,不可哈希,有增删改查操作
集合中的元素是不可变的,不重复,可哈西,可以去重
将列表去重:
s = []
s1 = set(s) #把列表转换成集合,进行去重复
s2 = list(s1)#把集合转换成列表
6.深浅拷贝
import copy()
浅拷贝:lst = []
lst1 = lst[:]
lst1 = lst.copy()
不管改变lst还是lst1,另一个也会改变(共用同一个内存地址)
深拷贝:
lst = []
lst1 = copy.deepcopy(lst) #创建了一个新的内存
不管改变lst还是lst1,另一个都不会改变
join,列表和字典用for循环的删除,集合,深浅拷贝的更多相关文章
- python--深浅拷贝 join() 列表和字典的删除 fromkeys建立字典
北京的冬天雾霾依旧很重,依稀记得人生初见雾霾时的样子,那时的回忆也是有些尴尬,不过雾霾也伴随了我的成长,成为了我肺泡中不可分割的一部分. 今天我想写的是拷贝的问题,不过在这之前我想先补充一点关于字符串 ...
- Python入门(二)列表、字典、字符串、元组、集合
列表list什么是列表:Python内置的一种数据类型是列表,list是一种有序的集合,可以随时添加和删除其中的元素 创建List列表的方法 L = ['杨俊辰',‘啦啦啦’,'Tom'] empty ...
- Python学习---列表/元组/字典/字符串/set集合/深浅拷贝1207【all】
1.列表 2.元组 3.字典 4.字符串 5.set集合 6.深浅拷贝
- fromkeys语法/set集合/深浅拷贝/列表/字典的删除
fromkeys语法: dic = {"apple":"苹果", "banana":"香蕉"} 返回新字典. 和原来的没 ...
- str中的join方法; set集合;深浅拷贝
一.str中的join方法 1,用join可以吧列表转换为字符串 将列表转换成字符串. 每个元素之间用_拼接 s = "_". join(['德玛', ''赵信'', '易']) ...
- str中的join方法,fromkeys(),set集合,深浅拷贝(重点)
一丶对之前的知识点进行补充 1.str中的join方法.把列表转换成字符串 # 将列表转换成字符串,每个元素之间用_拼接 s = "_".join(["天",& ...
- day07 python列表 集合 深浅拷贝
day07 python 一.知识点补充 1."".join() s = "".join(('1','2','3','4','5')) #将字符串 ...
- python 列表,字典,元组,字符串,常用函数
飞机票 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中包含3个元组),相当于ls和object ...
- python随笔 join 字典,列表的清空 set集合 以及深浅拷贝(重点..难点)
一,字符串和列表的转换 1.str中的 join 方法: 把列表转换成字符串 # 将列表转换成字符串. 每个元素之间用_连接 s = '**'.join(['李启政',' 郑强' , '孙福来']) ...
随机推荐
- sql小计汇总 rollup用法实例分析
这里介绍sql server2005里面的一个使用实例: ),city ),score int) GO 1. 只有一个汇总 select province as 省,sum(score) as 分数 ...
- SYN5006型电机同步编码脉冲分配器
SYN5006型电机同步编码脉冲分配器 编码器信号分配板增量式编码器脉冲分配器使用说明视频链接: http://www.syn029.com/h-pd-81-0_310_13_-1.html 请将此链 ...
- 对shell脚本进行加密
用shell脚本对系统进行自动化维护,简单,便捷而且可移植性好.但shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等.同样,在shell脚本运行时会也泄露敏感信息.请问如何 ...
- Mount挂载/data时出现mount: /data is busy 如何解决?
1.df -h查看下挂载点/data是否正在使用,有时候会存在挂载了,但df -h不会显示出来,这时候 grep “/data” /proc/mounts 来进行查看 2.当确认挂载点/data正在使 ...
- Docker配置容器位置和小技巧
Docker使用小技巧 清理全部停止的docker容器 有时候我们会有很多已经停止的容器或者由于错误强制退出不能用的容器,那我们就需要删除了,但是我们一个一个的rm删除很麻烦,有多少容器就要rm多少次 ...
- 从0x00到0xFF的含义
对于二进制来说,8位二进制我们称之为一个字节,二进制的表达范围值是从0b00000000-0b11111111,而我们程序中用十六进制表示的时候就是从0x00到0xFF,这里教大家一个二进制转换十进制 ...
- 关于java中构造方法、实例初始化、静态初始化执行顺序
在Java笔试中,构造方法.实例初始化.静态初始化执行顺序,是一个经常被考察的知识点. 像下面的这道题(刚刚刷题做到,虽然做对了,但是还是想整理一下) 运行下面的代码,输出的结果是... class ...
- MagicBook屏幕频闪解决方案(Windows、MacOS)
对于已经看到这篇文章的小伙伴们,就不解释何为PWM调光频闪了. MagicBook笔记本性价比高,但屏幕素质确实很一般,我们人眼看不出来的频闪,实际对眼睛损害很大,如图(需要设置快门参数,如1/400 ...
- 充气娃娃什么感觉?Python告诉你
上期为大家介绍了requests库的基本信息以及使用requests库爬取某东的商品页,收到了很多同学的反馈说期待猪哥的更新,猪哥感到非常开心,今天就带大家来玩一把刺激的! 一.需求背景 在实际开发过 ...
- c++学习书籍推荐《Visual C++2008入门经典》下载
百度云及其他网盘下载地址:点我 <Visual C++2008入门经典>学习目标: 使用标准模板库(STL)来组织和操作本地C++程序中的数据 C++程序调试技术 构造Microsoft ...