十二.基础数据类型补充:

1.join 可以把列表变成字符串.

    s = ‘abc’

    s1 = s.join(‘非常可乐’)

    print(s1)  #非abc常abc可abc乐abc

    s = "_"

    s1 = s.join(['alex','wusir','taibai','ritian'])

    print(s1)   #alex_wusir_taibai_ritian

数据类型的转换:str-àlist:split

    list -àstr:join

其他类型的转换都是用括号括起来

2. # 用for循环将列表里内容全部删除,不能直接删除,先放到新列表,再删除(字典也是一样)

new_lst = []

lst = ["我不是药神", "西游记", "西红柿首富", "天龙八部"]

for el in lst:

new_lst.append(el)  #记录要删除的内容添加到新列表

for ele in newlst:          #循环记录的内容

lst.remove(ele)  #从新列表中拿元素删除原列表的内容

print(lst)

3.fromkeys : 返回一个新字典

a = dict.fromkeys([‘alex’,’taibai’,’tangseng’],’123’)

print(a)  #结果:{‘alex’:’123’,’taibai’:’123’,’tangseng’:’123’}

dic = {}

a = dic.fromkeys(‘刘德华’,’梁朝伟’)

print(a) #结果:{‘刘’:’梁朝伟’,’华’:梁朝伟,’德’:’梁朝伟’}  这个内容跟dic = {}里的内容没有任何关系.

4.转换成False的数据:

0 None [] {} set()

十三.set集合:

set中的元素是不重复的,无序的用{}表示,所以一般都是用set去重复 不能进行切片和索引

set里面的元素必须是可hash的(int,str,tuple,bool),但是set本身是不可hash的,set是可变的. set1 = {'1','alex',2,True,[1,2,3]} # 报错

set2 = {'1','alex',2,True,{1:2}} # 报错

set3 = {'1','alex',2,True,(1,2,[2,3,4])} # 报错

set去重复:

lst = [45, 5, "哈哈", 45, '哈哈', 50]

lst = set(lst)  #先转换成set类型去重

lst = list(lst)  #在装换成list类型

print(lst)

2.set的增删改查

增:

(1).add()  #添加元素,重复的内容不会被添加到set集合中

(2).update() # 迭代更新

s = {"刘嘉玲", '关之琳', "王祖贤"}

s.update("麻花藤")

print(s)

s.update(["张曼玉", "李若彤","李若彤"])

print(s)

删:

(1)     pop() #随机删 有返回值

(2)     remove #按元素删,不存在这个元素,会报错

(3)     clear()#清空  如果set集合是空的,打印出来是set(),因为要和dict区别

查:用for查询

3.常用操作:

(1),交集

两个集合的共有元素

print(s1 & s2)

print(s1.intersection(s2))

(2),并集 除去重复的两个所有元素

用 | 表示 或 union

(3),差集 得到一个中单独存在的 s1 – s2  s1是第一个

用 – 表示 或 difference

(4),反交集 两个集合中单独存在的元素

用 ^ 表示 或 symmertrc_difference

(5),子集

用 < 表示 或 issubset  判断 set1是set2是子集么 返回True 或False

(6),超集

用 > 表示 或 isuperset

s = frozenset([1,3,6,6,8,9]) 可以去重复,也是set集合

print(s) #结果 frozenset({1,3,6,8,9})

冻结了的set集合,可哈希的,不可变, 所以这个可以放到集合里

Ps:   s = set()     #空集合

dic = dict()    #空字典

s  = str ()     #空字符串

i  = int()         #空数字

lst = list()    #空列表

这些叫做实例化,初始化一个对象的方法

十四.深浅拷贝:

  1. 直接赋值,两个变量指向同一个对象  即同一个内存地址
  2. 浅拷贝:只拷贝第一层内容  copy()
  3. 深度拷贝:对象中的所有内容都被拷贝一份

    Import.copy

    copy.deepcopy

is,数据类型补充,set,深浅拷贝的更多相关文章

  1. Day7--Python--基础数据类型补充,集合,深浅拷贝

    一.基础数据类型补充 1.join() 把列表中的每一项(必须是字符串)用字符串拼接 与split()相反 lst = ["汪峰", "吴君如", " ...

  2. Python基础数据类型补充及深浅拷贝

    本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷贝主要内容:一. 基础数据类型补充首先关于int和str在之前的学习中已经讲了80%以上了. 所以剩下的自己看一看就可以了.我们补充给一 ...

  3. python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝

    1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...

  4. python摸爬滚打之day07----基本数据类型补充, 集合, 深浅拷贝

    1.补充 1.1  join()字符串拼接. strs = "阿妹哦你是我的丫个哩个啷" nw_strs = "_".join(strs) print(nw_s ...

  5. day09-3 数据类型总结,深浅拷贝

    目录 数据类型总结,深浅拷贝 存一个值还是多个值 有序 or 无序 可变 or 不可变 浅拷贝和深拷贝的区别(只针对可变类型) 1.拷贝: 3.深拷贝 总结: 数据类型总结,深浅拷贝 存一个值还是多个 ...

  6. Python全栈开发之3、数据类型set补充、深浅拷贝与函数

    转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5466082.html 一.基本数据类型补充 set是一个无序而且不重复的集合,有些类似于数学中的集合,也可以求交集, ...

  7. 知识点补充 set 深浅拷贝

    一 对前面知识点的补充 1.str中的join()方法是将列表转换成字符串 lst = ["韩雪","赵丽颖","黄渤","李连杰 ...

  8. 《Python》 基础数据类型补充和深浅copy

    一.基础数据类型的补充 元组: 如果元组中只有一个数据,且没有逗号,则该‘元组’数据类型与里面的数据类型一致 列表: 列表之间可加不可减,可跟数字相乘 l1=['wang','rui'] l2=['c ...

  9. 啥数据类型set补充、深浅拷贝与函数

    #s1 = {1,2,3,1} """ s2 = ([2,5,6]) print(s1) s1.add(5) #添加元素"5" print(s1) s ...

随机推荐

  1. 阿里巴巴技术总监全解中台架构19页ppt

    //初创时,快速上线 单体架构至少撑了3年 //分布式,中间件基座 //平台化,内部是简单服务,对于业务侧就是快速上线 //平台化之后由于多平台协作问题,再次出现问题: 效率仍然不能匹配业务发展之需要 ...

  2. 第二阶段scrum-2

    1.整个团队的任务量: 2.任务看板: 会议照片: 产品状态: 正在连接配置数据库部分

  3. json解析精度问题

    由于后台传过来的值是float或者double类型,解析之后作为对象放到字典或数组里面,被转成nsstring或者nsnumber会有一定的误差,很正常 解决办法,通过NSNumberFormatte ...

  4. 10 Json(unity3D)

    //写入json文档注意事项: 1.在Asset下要有一个StreamingAssets文件夹 2.在文件夹内,有一个已创建好的json空文档 3.引入命名空间 using Litjson; usin ...

  5. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring Bean的配置及常用属性

    作为 Spring 核心机制的依赖注入,改变了传统的编程习惯,对组件的实例化不再由应用程序完成,转而交由 Spring 容器完成,在需要时注入应用程序中,从而对组件之间依赖关系进行了解耦.这一切都离不 ...

  6. Codeforces 1299B/1300D - Aerodynamic

    题目大意: 给定一个图形S,让这个图形任意平移,但是要保证原点(0,0)一直在它的内部或者边上 最后把它能移动到的所有位置进行拼合可以得到一个图形T 问图形S与图形T是否相似 点会按照逆时针顺序给出 ...

  7. SpringBoot+Shiro+DB (二)

    之前我们完成了Spring+Shiro的最基本配置搭建,现在我们再增加上DB,毕竟没有哪个系统会将用户.角色.权限等信息硬编码到代码里.DB选用myslq. 数据库准备 脚本如下.依然是两个用户:ad ...

  8. C++ Opencv播放AVI

    #include "cxcore.h" #include "cvcam.h" #include "windows.h" #include & ...

  9. Linux系统提示无法获得锁

    这种情况出现主要是因为软件更新或者安装时出现错误. 删除掉两个临时文件即可 sudo rm /var/lib/dpkg/lock sudo rm /var/cache/apt/archive/lock ...

  10. Linux上创建RStudio快捷方式

    在Linux平台上经常会有一些软件需要通过命令行的方式启动,这没有图标启动方便,下面是在Linux平台为RStudio创建图标链接的方法: 下面以在桌面上创建RStudio快捷方式为例: (1) 首先 ...