join,列表和字典用for循环的删除,集合,深浅拷贝
1.join()
将列表转换成字符串,并且每个字符之间用另一个字符连接起来,join后面必须是可迭代的对象(字符串,列表,元组,字典,集合),数字不能迭代
例如:
1 s = ['a','b','c'] 2 s1 = '_'.join(s) 3 print(s1)
结果为:a_b_c
2.字符串转换成列表:split()
列表转换成字符串:join()
3.列表的删除(pop,remove,del,clear)
如果用for循环删除,第二个元素的索引就变成了第一个元素的索引,此时列表内部的索引在改变
例如:
1 lst = ['a','b','c','d'] 2 for i in lst: 3 lst.remove(i) 4 print(lst)
结果为:['b','d']
此时需要创建一个新的列表来记录原列表,然后for循环依次遍历新列表,删除原列表
例如:
1 lst = ['a','b','c','d'] 2 lst1 = [] #存放要删除的元素 3 for i in lst: #循环新列表 4 lst1.append(i) #将原列表的元素添加到新列表中 5 for i in lst1: #循环新列表 6 lst.remove(i) #删除原列表中的元素 7 print(lst) 8 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,另一个都不会改变
转载于:https://www.cnblogs.com/s593941/p/9415545.html
join,列表和字典用for循环的删除,集合,深浅拷贝相关推荐
- 列表的join方法,类方法formkeys,删除,集合,深浅拷贝赋值,冒泡排序
#列表join方法 lst = ["汪峰", "吴君如", "李嘉欣", "陈慧琳", "关之琳"] ...
- set集合, 深浅拷贝, join, 列表和字典在循环中删除元素的问题, fromkeys( , )
一. set集合 空集合 a = set() set集合内的元素必须可哈希(不可变), int, str, bool, tuple set3 = {'1','alex',2,True,(1,2,[2, ...
- 字典和列表的删除问题, 深浅拷贝
一. 基础数据类型 1. str. join() str. join(元组.列表.字典.字符串)可以把这些都转变成字符串. a = 'hello'.join('123') b = '123'.join ...
- day02 格式化输出 运算符 编码 字符串 列表 元组 字典 set集合 深浅拷贝
day02学习大纲 一. 格式化输出: %s 占位字符串 %d 占位数字 "xxx%sx %sxx" % (变量, 变量) 二. 运算符: a+=b a = a + b and 并 ...
- str中的join方法,fromkeys(),set集合,深浅拷贝(重点)
一丶对之前的知识点进行补充 1.str中的join方法.把列表转换成字符串 # 将列表转换成字符串,每个元素之间用_拼接 s = "_".join(["天",& ...
- Python -- 使用while循环来处理列表和字典
使用while循环来处理列表和字典 要记录大量的用户和信息,需要在while循环中使用列表和字典. for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中 ...
- 循环的时候去删除集合中的元素 java.util.ConcurrentModificationException
使用for循环,删除集合中的元素,会报错 java.util.ConcurrentModificationException 只能通过迭代器 iterator删除 1:在while循环中使用itera ...
- 列表和字典循环遍历时的删除问题,集合
1.for 循环的问题 : for 循环后面也有else,也可以使用break和continue(使用方法跟while一样). while 条件: for ...
- pythonwhile列表_Python编程:while循环处理列表和字典
列表之间移动元素 先将列表中的元素逐个删除,删除的元素保存到新的变量中,再将变量中的元素添加到新列表中,列表为空时停止循环. 例如:假设有一个列表,其中包含新注册但还未验证的网站用户:验证这些用户后, ...
最新文章
- iOS更改AppIcon
- 图像轮廓、凸包、图像的矩、分水岭算法、图像修补
- 云技术与云计算的区别
- Extjs Window用法详解 2 打印具体应用
- CS Academy Gcd Rebuild
- 太厉害了!2021年互联网大厂Java笔经
- 在你的 Linux 桌面嵌入终端窗口
- python-3.8.0安装
- 1.恶意软件中的防双开
- 2021年最完善的谷歌SEO关键词调研技巧
- Kaggle:入门赛Tatanic(泰坦尼克号)84.21%带你冲进前2%
- ChineseLunisolarCalendar 农历日期
- 【洛谷P3651】展翅翱翔之时
- 【UER #7】套路
- html程序产品目录,产品目录(Catalog)制作大师
- Firebase埋点
- 巴比特 | 元宇宙每日必读:未成年人打赏后要求退款,虚拟主播称自己是大冤种,怎么看待这个监管漏洞?...
- ERROR: cannot launch node of type [fake_localization/fake_localization]: fake_localization
- 壬辰年癸丑月丁亥日记梦
- ABAP BDC_OKCODE 解释