#1数据类型的补充
#2.集合set
#3.深浅copy 补充:
str --> bytes s.encode('gbk')
bytes --> str s.decode('gbk') 1.数据类型的补充.
str :
isspace 判断是不是空格.
list:
  再循环一个列表时候,进行删除的动作时候,容易出错.一旦删除索引将会改变,所以才会报错
1,反向删除
2.增加替换
3.增加删除,两个for循环
4.步长删除.
li = ['老男孩', 'python', 'alex', 'wusir', 'egon', 'ritian', '女神']
dict:
由于索引和无序的原因,对字典进行循环增删的时候会报错,单独建立一个列表,将要删除的元素单独列到列表中,再进行字典删除,才能避免报错。 元祖:
str --> 元祖 强行转化
元祖 --> str ''.join(tuple) #所有可迭代的对象都能够转化为str,利用join 2.集合(set)
set = {11,22,33,44,55}
主要两个大功能:
1,由于集合自动去重复的功能,转化为set后能够直接去掉重复的内容
2.集合交集并集差集超集子集
1 set = {2,4,6,8,9,1,3,9,7}
2 set2 = {11,12,13,15,16,17}
3
4 print(set & set2)#交集
5 print(set ^ set2)#反交集
6 print(set | set2)#并集
7 print(set - set2)#差集
8 print(set.issubset(set2))#子集
9 print(set.issuperset(set2))#超集

#增:

        #add添加元素,
set = {2,4,6,8,9,1,3,9,7}
set2 = {11,12,13,15,16,17} set.add('w')
print(set)
#{1, 2, 3, 4, 6, 7, 8, 9, 'w'}
        #update 迭代添加\
set = {2,4,6,8,9,1,3,9,7}
set.update('wsb')
print(set)
#{1, 2, 3, 4, 6, 7, 8, 9, 's', 'b', 'w'}

        #删:
#pop() 无需随机删除(不确定)
set = {2,4,6,8,9,1,3,9,7}
set.pop()
print(set)
#{2, 3, 4, 6, 7, 8, 9}
        #clear()清空如同列表和字典

        #del ()整个删除

        #remove() 元素删除
 set = {2,4,6,8,9,1,3,9,7}

 set.remove(2)

 print(set)

 #{1, 3, 4, 6, 7, 8, 9}

     #无法修改

#查

        #for 循环查看

3.深浅copy
赋值运算:
 l1 = [1,2,3]

 l2 = l1

 l2.append(111)

 print(l1,l2)
结果相同

浅copy:

 l1 = [1,2,[1,2,3],3]

 l2 = l1[:]/l1.copy

 l2[2].append(111)

 l2.append(111)

 print(l1,l2)
        此时是浅copy   不是赋值运算.

            深copy:
 import copy

 l1 = [1,2,[1,2,3],3]

 l2 = copy.deepcopy(l1)

 l2[2].append(111)

 print(l1,l2)
        赋值运算是完全公用内存地址
浅copy是在第一层不会公用地址,而在多层的情况下除开第一层,其它层都会公用一个内存地址
深copy则是完全独立的一个新的储存位置,不会公用地址.

python 集合和深浅copy的更多相关文章

  1. python之数据类型补充、集合、深浅copy

    一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址 ...

  2. python之set集合、深浅copy初识、join()和fromkeys() 的用法

    一.set集合 特点: set集合是无序的,所以不存在索引. set集合中的每个元素都是不重复的. set集合中的每个元素都是可哈希的. 有增删改查操作: 1. 增加 add    当添加的内容重复时 ...

  3. python之集合,深浅copy

    一. 集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...

  4. Python学习之路基础篇--07Python基础+编码、集合 和 深浅Copy

    1 小数据池(节省内存) 只有数字和字符串中内存,储存在同一个内存地址中 数字的范围在-5~256中,字符串有以下两个特点:不能含有特殊字符,还有就s*20 不是同一个地址,而要*21就不是了 2 编 ...

  5. python 的基础 学习 第八天数据类型的补充 ,集合和深浅copy

    1,数据类型的补充: 元组()tuple,如果只有元素,并且没有逗号,此元素是什么数据类型,该表达式就是什么数据类型. tu = ('rwr') print(tu,type(tu)) tu = ('r ...

  6. 07、python的基础-->数据类型、集合、深浅copy

    一.数据类型 1.列表 lis = [11, 22, 33, 44, 55] for i in range(len(lis)): print(i) # i = 0 i = 1 i = 2 del li ...

  7. python-基础数据类型,集合及深浅copy

    一 数据类型定义及分类 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区 ...

  8. 数据结构中的列表、元组、字典、集合 ,深浅copy

    数据结构:数据结构是计算机存储数据和组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.在python中主要的数据类型统称为容器. 而序列(如列表.元组).映射(如字典).集合 ...

  9. day 07 数据类型,集合,深浅copy

    1.day 06 内容回顾 小数据池 int :-5-256 str:特殊字符 ,*20 ascii:8位 1字节 表示一个字符 unicode:32位 4个字节 , 表示一个字符 字节表示8位表示一 ...

随机推荐

  1. FTP下载

    import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import ja ...

  2. Linux Shell基础 Bash常见命令 echo命令

    概述 shell中常见的命令echo. 输出命令:echo echo命令的输出内容如果没有特殊含义,则将原内容输出到屏幕:如果输出内容有特殊含义,则输出打印其含义. 命令格式如下: [root@loc ...

  3. java多线程下载文件和断点下载

    多线程,断点下载文件 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; impor ...

  4. CSS3手风琴下拉菜单

    在线演示 本地下载

  5. Scrapy安装方法

    Scrapy安装在Python2.7环境下 1.配置环境变量: 2.安装基础软件 4个(64位系统) 安装twisted: C:\Users\Administrator>pip  install ...

  6. SpringBoot Mybatis keyProperty和useGeneratedKeys的作用

    在使用mybatis时,常常会出现这种需求: 当主键是自增的情况下,添加一条记录的同时,其主键是不能被使用的(为空),但是有时我们需要该主键,这时我们该如何处理呢?这时我们只需要在其对应xml中加入以 ...

  7. 互联网高并发之Hystrix实现服务隔离和降级

    当大多数人在使用Tomcat时,多个HTTP服务会共享一个线程池,假设其中一个HTTP服务访问的数据库响应非常慢,这将造成服务响应时间延迟增加,大多数线程阻塞等待数据响应返回,导致整个Tomcat线程 ...

  8. java深入探究14-lucene

    项目代码:链接:http://pan.baidu.com/s/1qXVcfCw 密码:apw1 01 回顾索引 定义:索引是对数据库表中一列或多列的值进行排序的一种结构 目的:加快对数据库表中记录的查 ...

  9. python 2 到 3 的新手坑

    print 和 input print 我们在课程最开始的时候就讲过 print,在版本2的使用方法是: print 'this is version 2' 也可以是 print('this is v ...

  10. 深入理解Servlet3.0异步请求

    异步请求的基础概念 异步请求最直接的用法就是处理耗时业务,Http协议是单向的,只能客户端拉不能服务器主推. 异步请求的核心原理主要分为两大类:1.轮询.2长连接 轮询:就是定时获取返回结果. 长连接 ...