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(['李启政',' 郑强' , '孙福来']) ...
随机推荐
- QtZint编译过程记录(要使用 QTMAKE_CFLAGS += /TP 参数)
1,下载zint后,在zint-2.4.3\win32\vcx目录下找到zlib.props和libpng.props文件,分别改为zlib和libpng的源码目录.这2个开源库最好是找工程中使用的版 ...
- Oracle 裁掉北京研发团队,相应职位撤回美国(收购了NetSuite,LogFire,Dyn)
根据中国日报报道,2017年1月14日上午9点09分,甲骨文北京研发团队的同事收到了来自BU老大的一封邮件.邮件上提及,由于市场变化,甲骨文开始整合各研发中心资源公司在云计算方向发力,文末单独提出了甲 ...
- Qt for Android之Hello World
Qt for Android (Hello World APK 创建)Qt是跨平台的,如桌面.移动.嵌入式平台.Qt for Android可以在Android v2.3.3 (API level 1 ...
- Bitmap的读写和几个小儿科的滤镜效果~
闲来玩玩图像处理,拿破仑说过:“不想自己实现滤镜的美工不是好程序员~~#@!*^...#&!@......” 因为在学校做过很多美工的工作,而且从小就喜欢画画所以对图像相关的东西都还比较感兴 ...
- Mac上使用brew安装nvm来支持多版本的Nodejs
brew方式 如果机器没有安装过node,那么首先brew install nvm安装nvm. 其次需要在shell的配置文件(~/.bashrc, ~/.profile, or ~/.zshrc)中 ...
- UI-grid 表格内容可编辑(enableCellEdit可指定列编辑)
在网上搜索了很多关于UI-Grid的问题 很遗憾好少啊啊啊 不过有API还是比较欣慰的 官方API:UI Grid 还有一位大佬的翻译的中文API:angularjs ui-grid中文api 行编辑 ...
- vmware vSphere Data Protection 6.1 使用备份、恢复、报告
一.6个选项卡说明 1.getting started 开始,提供VDP功能概述以及指向创建备份作业向导.恢复向导.报告选项卡的快速连接 2.backup 提供已计划备份作业的列表以及有关备份作业的详 ...
- Hive 学习之路(三)—— Hive CLI和Beeline命令行的基本使用
一.Hive CLI 1.1 Help 使用hive -H或者 hive --help命令可以查看所有命令的帮助,显示如下: usage: hive -d,--define <key=value ...
- NET中级开发工程师职责要求
NET中级开发工程师岗位职责1.熟练掌握 WebApi, ASP.NET MVC, Entity Framework,.NET CORE等技术,精通JQuery.Vue.Bootstrap等前端开发框 ...
- 简易数据分析 04 | Web Scraper 初尝--抓取豆瓣高分电影
这是简易数据分析系列的第 4 篇文章. 今天我们开始数据抓取的第一课,完成我们的第一个爬虫.因为是刚刚开始,操作我会讲的非常详细,可能会有些啰嗦,希望各位不要嫌弃啊:) 有人之前可能学过一些爬虫知识, ...