zoukankan      html  css  js  c++  java
  • join方法,set集合,深浅拷贝.

    上节课回顾
    1.
    python里的(int,str)存在一个小数据池主要是为了节约内存.
    int: -5~256 str:
    is和 == 的区别:is比较的是内存地址,==比较的两边的值.
    id(地址).
    2.编码
    1.ASCII, 英文, 数字, 一些特殊符号 8bit 1byte
    2. GBK, 国标码, 汉字. 16bit 2byte 必须兼容ASCII
    3. UNICODE, 万国码, 32bit 4byte , 兼容ASCII
    4. UTF-8 可变长度的万国码
    英文: 8bit 1byte
    欧洲: 16bit 2byte
    汉字: 24bit 3byte

    在网络传输和数据存储的时候. 换gbk, utf-8(90%)
    编码用(encode) unicode变成你需要的解码
    编码之后的内容是字节(bytes类型)
    解码用(decode): 把目标bytes转换成字符串
    最后用什么编码,就要用什么解码.
    新课:
    1.对之前的知识点进行补充
    1. str中的join方法 (将列表转换成字符串)
    2.列表和字典在循环的时候不能直接删除.
    需要把要删除的内容记录在新列表中
    然后循环新列表.删除字典或列表.
    3. fromkeys()
    返回新字典. 对原字典没有影响
    后面的value.是多个key共享一个value

    字符串转换成列表:split()
    把列表换成字符串:join()

    join(可迭代对象)

    (列表和字典都不能呢在for循环的时候进行删除,字典再循环的时候不允许改变大小)
    for循环的时候,发现,剩余了

    操作:添加一个新列表
    新列表append添加内容
    这样才能删除你要的结果

    Foley 跟空沾边的都是Foley

    2.set集合
    特点
    集合中的元素必须是可哈西的,不重复.
    set续重 把重复的去掉
    只保存key.set
    (集合本身是可变的数据类型,不可哈西,有增删改查操作)
    查询可以迭代对象for操作
    &交集,|并集,^反交集
    frozenset()冻结的集合. 不可变的. 可哈希的
    3.深浅拷贝
    1.浅拷贝
    lst1 = ["何炅", "杜海涛","周渝民", ["麻花藤", "马芸", "周笔畅"]]
    lst2 = lst1.copy() #复制
    lst1[3].append("无敌多寂寞")
    print(1)结果一样
    print(2)结果一样
    浅拷贝.只会拷贝第一层,第二层的内容不会拷贝.所以称为浅拷贝.
    拷贝第一层内容. [:]或copy()
    2.深拷贝
    拷贝所有内容. 包括内部的所有.
    lst2 = copy.deepcopy"(lst1)
    3总结
    赋值.赋值操作没有创建新对象.公用同一个对象
  • 相关阅读:
    分块
    BZOJ 2957 楼房重建-线段树
    [NOI2016]区间-线段树
    [ZJOI2007]矩阵游戏-二分图匹配
    BZOJ3714 [PA2014]Kuglarz -最小生成树
    HNOI2005狡猾的商人-差分约束系统
    Android开发之带你轻松集成友盟统计
    Android6.0动态申请权限
    Android6.0动态权限申请
    极光推送JPush的快速集成
  • 原文地址:https://www.cnblogs.com/asdlo/p/9415744.html
Copyright © 2011-2022 走看看