字符串

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. MVC,MVP 和 MVVM 的图示,区别

    作者: 阮一峰 日期: 2015年2月 1日 复杂的软件必须有清晰合理的架构,否则无法开发和维护. MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用.它本身 ...

  2. 查看SQLServer的最大连接数

    如何查看SQLServer的最大连接数?相信很多人对个很有兴趣,一下就给出两种方法: 1. 查询服务器属性 默认服务设置为0(表示不受限制). 2. SQL查看最大连接数 这里的32767就是服务器的 ...

  3. 命令行连接db2数据库

    在cmd界面执行db2cmd命令 然后在db2cmd界面执行db2命令 然后执行 CONNECT TO UIBS USER DB2INST1 USING 123456命令

  4. 记录下httpclient 发送请求 服务端用@RequestBody 自动接收参数 报415

    注解是post方式,那么检查以下内容:1. 你是否用了post请求2. 请求是否发送了数据3. 请求内容格式需要是 application/json .jquery 设置 contentType,-- ...

  5. maven pox.xml文件报错解决办法 亲测可以

    问题1 由于maven下载依赖包失败导致一些文件没完全下载下来,形成了lastUpdated结尾的文件存放在本地仓库中(我是默认地址:C:\Users\Administrator\.m2\reposi ...

  6. css3 hover 效果

    链接 链接 链接 链接 大量级 11 22  类似拉勾  33 包括各种流行的hover 小众 极光

  7. get running task , process and service

    public class MyActivityManager extends ExpandableListActivity { private static final String NAME = & ...

  8. Go语言的序列化与反序列化(gob)

    encoding/gob包实现了高效的序列化,特别是数据结构较复杂的,结构体.数组和切片都被支持. 实现代码如下://定义一个结构体type Student struct { Name string ...

  9. html调bug

    F12-->Sources-->相应文件-->找有波浪线

  10. 深入理解vsto,开发word插件的利器

    开发了vsto,客户那边也有一些反映插件安装失败或者加载不上的情况.于是我下定决定再理解下vsto的工作机制,如下图: 如上图所示,我把vsto的解决方案分为两部分,一部分是vsto Add-ins, ...