字符串

join()

格式:   "拼接的东西".join(可迭代对象)

可以加列表转换成字符串

 lis = ['a','b','c','d']
s = "//".join(lis)
print(s) #结果
a//b//c//d

相反

split()   可以加字符串转换成列表       切割

列表和字典在循环的时候不能直接被删除
需要把要删除的内容记录在新的列表中

然后循环新列表,删除字典或列表

例如

lis = ['a','b','c','d','e']
for i in lis:
lis.remove(i)
print(lis) # 删除不完
lis1 = []
for i in lis:
lis1.append(i) #创建新列表
for a in lis1:
lis.remove(a) #删除旧列表
print(lis)

字典也同上

总结  :       字典和列表都不能在循环的时候进行删除,      字典在循环的时候不允许改变大小

集合

特点  :   无序的  不重复     元素必须可哈希(不可变)

作用 :    去重复

 s = [1,2,3,1,3,4,5,3,5,6,1,77,78,1,8,3,5,6,9,9,99]
a = set(s)
print(a) #{1, 2, 3, 4, 5, 6, 99, 8, 9, 77, 78} 去重复
s = list(a)

本身是可变的数据类型,  有增删改查的操作
增  删

s = {'我','lx','你',}
a = s.pop() #随机删除
a = s.add("他") #添加
s.remove('他') #删除
s.update("ndsad") #迭代添加
print(s)

frozensent()  冻结的集合

set  集合本身是可以改变的  是不可哈希的  我们可以使用frozenset来保存数据,

frozensent是不可改变的也就是一个可哈希的类型

深浅拷贝

重点

1  赋值   没有创建对象,  公用一个对象
 2  浅拷贝,拷贝第一层内容,[:]或copy()

3 深拷贝,  拷贝所有内容包括内部所有   引入copy模块,deepcopy()

4  引用    import

 import copy  # 引用copy 模块
lst = ["赵云",'马可波罗','猴子','孙尚香','公孙离',["吕布",'干将','貂蝉']]
lst1 = lst[:] #浅拷贝
lst2 = lst.copy() #浅拷贝
lst3 = copy.deepcopy(lst) #深拷贝

重点

一个面试题

循环引用      官方文档有写

a = [1,2]
a[1] = a
print(a[1])

Python中的 set 与 深浅拷贝的更多相关文章

  1. python中的“赋值与深浅拷贝”

    Python中,赋值与拷贝(深/浅拷贝)之间是有差异的,这主要源于数据在内存中的存放问题,本文将对此加以探讨. 1 赋值(添加名字) 赋值不会改变内存中数据存放状态,比如在内存中存在一个名为data的 ...

  2. python中的赋值和深浅拷贝

    python中,A object  = B object  是一种赋值操作,赋的值不是一个对象在内存中的空间,而只是这个对象在内存中的位置 . 此时当B对象里面的内容发生更改的时候,A对象也自然而然的 ...

  3. python中的赋值与深浅拷贝的区别

    import copy lt = [1, 2, [3, 4]] # 赋值会增加一个引用,访问的都是同一数据 # lt2 = lt # 浅拷贝:只拷贝对象本身,里面的元素只会增加一个引用 lt2 = l ...

  4. python中set(集合),深浅拷贝以及一些补充知识点

    1.set集合 特点:无序,不重复,元素必须可哈希(不可变) 作用:去重复 本身是可变的数据类型.有增删改查操作.{集合的增删改查操作应用较少,这里不做详细介绍了(这里的增有一个方法update注意这 ...

  5. python中的赋值与深浅拷贝

    Python当中对于拷贝,分为两种类型.一种是数字和字符串,另一种就是列表.元组.字典等其他类型了. 一.数字和字符串的拷贝 1.赋值 举个栗子: a1 = 123123 a2 = 123123 # ...

  6. python 学习笔记5(深浅拷贝与集合)

    拷贝 我们已经详细了解了变量赋值的过程.对于复杂的数据结构来说,赋值就等于完全共享了资源,一个值的改变会完全被另一个值共享. 然而有的时候,我们偏偏需要将一份数据的原始内容保留一份,再去处理数据,这个 ...

  7. python基础(三元运算+深浅拷贝+函数参数)

    三元运算 三元运算,又称三目运算,主要作用是减少代码量,是对简单的条件语句的缩写. 书写格式: result = 值1 if 条件 else 值2 即如果条件成立,则将值1赋给result变量,如果不 ...

  8. [Python笔记]第三篇:深浅拷贝、函数

    本篇主要内容:深浅拷贝,自定义函数,三目运算,lambda表达式, 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import ...

  9. python yield,yield from,深浅拷贝

    (一)yield和yield from 转自:理解yield   yield from (1)yield 1.通常的for…in…循环中,in后面是一个数组,这个数组就是一个可迭代对象,类似的还有链表 ...

随机推荐

  1. Pro C/C++ 编程中值得注意的问题

    1.宿主字符串存储Oracle自动补零问题. EXEC SQL BEGIN DECLARE SECTION; unsigned char liId[25]; EXEC SQL END DECLARE ...

  2. iOS-证书真机调试

    开发者账号分类 个人的 99$  申请简单,付钱就行,688人民币   企业的 99$  申请复杂,需要“邓白氏”认证,可以确认企业是合法有效的 可以管理团队开发   商业的 299$  也需要邓白氏 ...

  3. [转载]java调用PageOffice生成word

    一.在开发OA办公或与文档相关的Web系统中,难免会遇到动态生成word文档的需求,为了解决工作中遇到导出word文档的需求,前一段时间上网找了一些资料,在word导出这方面有很多工具可以使用,jac ...

  4. 【poj2155】Matrix(二维树状数组区间更新+单点查询)

    Description Given an N*N matrix A, whose elements are either 0 or 1. A[i, j] means the number in the ...

  5. java10---点餐系统

    public class OrderMsg { public static void main(String[] args) throws Exception { /** * 订餐人姓名.选择菜品.送 ...

  6. 函数声明提升机制在浏览器中的bug

    JavaScript 解释器中存在一种变量声明被提升(hoisting)的机制,也就是说变量(函数)的声明会被提升到作用域的最前面,即使写代码的时候是写在最后面,也还是会被提升至最前面. 但通过测试, ...

  7. Unity3d 相关文档

    Unity3D研究院之处理摄像机跟随避免相机穿墙拉近或透明的方法 http://www.apkbus.com/android-498-1.html

  8. InpOut32 InputTest.cpp hacking

    /************************************************************************************ * InpOut32 Inp ...

  9. Android中Activity的LauchMode(加载模式)

    1.standard模式:一个task有多个Activity,一个Activity可以被实例化多次,可以放在不同的task中. 2.singleTop模式:该Activity在栈顶,同时收到启动该Ac ...

  10. 洛谷 P1561 [USACO12JAN]爬山Mountain Climbing

    传送门 题目大意: n头牛,上山时间为u(i),下山为d(i). 要求每一时刻最多只有一头牛上山,一头牛下山. 问每头牛都上下山后花费最少时间. 题解:贪心 推了推样例,发现上山时间一定,那找个下山最 ...