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(['李启政',' 郑强' , '孙福来']) ...
随机推荐
- WPF四年,尤不足以替代WinForm
WPF四年,尤不足以替代WinForm WPF出山已四年,作为官方内定的下一代UI系统掌门,没少露脸.但这个新掌门能否胜任,仍是众多开发者的心头之虑.通过对VisualStudio 2010的编辑器部 ...
- InnoExtractor可以解压一些安装文件,以获得其中的特殊文件
you can use InnoExtractor unpack the installer file and get uniSimpleEnc.dcu file. https://www.board ...
- asp.net core 系列之Response caching 之 Distributed caching(3)
这篇文章讲解分布式缓存,即 Distributed caching in ASP.NET Core Distributed caching in ASP.NET Core 分布式缓存是可以在多个应用服 ...
- JAVA8之lambda表达式详解
原文:http://blog.csdn.net/jinzhencs/article/details/50748202 lambda表达式详解 一.问题 1.什么是lambda表达式? 2.lambda ...
- 08 JS的事件流的概念(重点)
在学习jQuery的事件之前,大家必须要对JS的事件有所了解.看下文 事件的概念 HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件.页面的滚动事件onscroll等等,可以 ...
- 简单看看java之枚举
枚举类这个类用的比较少,对这个不怎么熟悉,最近看源码刚好可以好好了解一下,那么,枚举Enum是什么呢?在jdk中,Enum是一个抽象类下图所示,这就说明这个类是不能进行实例化的,那么我们应该怎么使用呢 ...
- java创建对象的方式
Java中创建对象的5种方式 作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象.然而这里有很多创建对象的方法,我们会在这篇文章中学到. Java中有5种 ...
- VirtualBox基础使用
VirtualBox基础使用 VirtualBox相对VMware来说是轻量级的虚拟软件, 最关键的是VirtualBox是开源免费的. 配置全局选项 点击管理-->全局设定, 进入设置界面. ...
- Nginx部署多个站点
Nginx部署多个站点 一,介绍与需求 1.1,介绍 详细介绍请看nginx代理部署Vue与React项目,在这儿主要介绍多个站点的配置 1.2,需求 有时候想在一台服务器上为不同的域名/不同的二级域 ...
- SpringBoot开发案例之分布式集群共享Session
前言 在分布式系统中,为了提升系统性能,通常会对单体项目进行拆分,分解成多个基于功能的微服务,如果有条件,可能还会对单个微服务进行水平扩展,保证服务高可用. 那么问题来了,如果使用传统管理 Sessi ...